Паскаль. 1)В массиве Т(21) нулевые элементы заменить суммой всех элементов. 2)даны...

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

Паскаль.
1)В массиве Т(21) нулевые элементы заменить суммой всех элементов.
2)даны натуральные числа n и массив A из n элементов. Все неотрицательные элементы, не принадлежащие от [1.7], заменить на 1, а так же получить число отрицательных элементов и число элементов , принадлежащих отрезку [2,7]

Надо написать программы к этим 2 задачам
СРОЧНО.


Информатика (37 баллов) | 49 просмотров
Дан 1 ответ
0 голосов

Var
  arr: array[1..27] of integer;
  summ: integer;
begin
  Randomize;
  for var i := 1 to 27 do
  begin
    arr[i] := random(-5, 5);
    summ := summ + arr[i];
  end;
  writeln('Массив: ',arr);
  writeln('Сумма всех элементов массива = ',summ);
  for var i := 1 to 27 do if arr[i] = 0 then arr[i] := summ;
  writeln('Массив: ',arr);
end.

пример работы:
Массив: [5,-1,1,5,4,-2,-3,0,3,5,-3,-4,3,0,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]
Сумма всех элементов массива = 14
Массив: [5,-1,1,5,4,-2,-3,14,3,5,-3,-4,3,14,-1,-4,5,-2,1,-4,5,2,-4,5,4,-5,-1]

var
  arr: array of integer;
  n,k,m: integer;
begin
  write('Введи n: ');
  readln(n);
  Randomize;
  arr:= new integer[n];
  for var i := 0 to n-1 do arr[i] := random(-5, 5);
  writeln('Массив: ',arr);
  for var i := 0 to n-1 do
  begin
    if arr[i]<0 then inc(k);<br>    if (i>=1) and (i<=6) then inc(m);<br>    if (i>=6) and (arr[i]>=0) then arr[i]:=1;
  end;
  writeln('Количество отрицательных элементов массива = ',k);
  writeln('Количество элементов массива в интервале [2..7] = ',m);
  writeln('Массив: ',arr);
end.

Пример работы:
Введи n: 5
Массив: [0,1,-4,1,3]
Количество отрицательных элементов массива = 1
Количество элементов массива в интервале [2..7] = 4
Массив: [0,1,-4,1,3]

Введи n: 15
Массив: [0,1,4,3,-3,5,-4,-1,1,-2,3,1,-4,1,3]
Количество отрицательных элементов массива = 5
Количество элементов массива в интервале [2..7] = 6
Массив: [0,1,4,3,-3,5,-4,-1,1,-2,1,1,-4,1,1]

(3.3k баллов)