Помогите модифицировать программу. Нужно сделать так чтобы программа еще находила номер...

0 голосов
51 просмотров

Помогите модифицировать программу. Нужно сделать так чтобы программа еще находила номер последней пары элементов массива с разными знаками)
program first;
uses Crt;
const N=1000;
var
A:array[0..N] of integer;
I,K,Z,S,R,P:integer;
begin
ClrScr;
Randomize;
print('Введите количество элементов массива:');
readln(R);
println('Значение элементов массива');
for I:=1 to R do
begin
A[I]:=random(10)-3;
write(A[I]:3);
end;
println();
println('Введите число А');
read(Z);
S:=0;
K:=0;
P:=1;
for I:=1 to R do
begin
if A[I] < 0 then
S:=S+A[I];
if (A[I] > 0) and (A[I] < Z ) then
K:=K+1;
end;
for i := 1 to n-1 do
if A[I]*A[I+1]<0 then P := i;<br> if P>0
then writeln('Номер последней пары соседних элементов с разными знаками: ', P)
else writeln('Массив не содержит элементов с разными знаками');
print(S);
print(K);
end.


Информатика (158 баллов) | 51 просмотров
0

Так она же его находит... А еще находит сумму отрицательных элементов и количество положительных, меньших заданного

Дан 1 ответ
0 голосов
Правильный ответ

Program first;

uses Crt;

const N=1000;

var
  A:array[0..N] of integer;
  I,K,Z,S,R,P:integer;
 
begin
  ClrScr;
  Randomize;
  Print('Введите количество элементов массива:'); Readln(R);
  Println('Значение элементов массива');
  for I:=1 to R do begin
    A[I]:=Random(10)-3;
    Write(A[I]:3)
    end;
  Println();
 
  { начало блока вычисления S - суммы отрицательных элементов
    и K - количество положительных, меньших заданного Z (число "А") }
  Print('Введите число А:'); Read(Z);
  S:=0; K:=0;
  for I:=1 to R do begin
    if A[I] < 0 then S:=S+A[I];
    if (A[I] > 0) and (A[I] < Z ) then K:=K+1
    end;
  Writeln('Сумма отрицательных элементов ',S);
  Writeln('Количество положительных элементов, меньших заданного ',K);
  { конец блока }
 
  { начало блока нахождения номера последней пары
    соседних элементов с разными знаками }
  P:=1;
  for i := 1 to n-1 do if A[I]*A[I+1]<0 then P := i;<br>  if P>0 then
    Writeln('Номер последней пары соседних элементов с разными знаками: ', P)
  else
    Writeln('Массив не содержит элементов с разными знаками');
  { конец блока }
 
end.

Пример
Введите количество элементов массива: 12
Значение элементов массива
  5  5 -1 -2 -1  3  0 -3  4 -1  6  5
Введите число А: 6
Сумма отрицательных элементов -8
Количество положительных элементов, меньших заданного 5
Номер последней пары соседних элементов с разными знаками: 10

(150k баллов)