Из массива удалить все элементы, которые меньше 0.Составить программу в...

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

Из массива удалить все элементы, которые меньше 0.Составить программу в паскале,пожалуйста.


Информатика (245 баллов) | 38 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
 a: array[0..99] of integer;
begin
  //заполняем массив случайными числами
  Randomize();
  for var i:=0 to 99 do a[i]:=random(-100,100);
 
  //а теперь заменяем все отрицательные элементы на ноль
  for var i:=0 to 99 do 
    if (a[i]<0) then a[i]:=0;<br>end.
-----------------------------------------------------------
Вот второй вариант программы, со вводом с клавиатуры и со сдвигом нулевых элементов в хвост массива
program pr_1;constn = 6;varA: array [1..n] of integer; n1: integer;
beginWrite('введите ');for i := 1 to n doread(A[i]);  n1:=n;  for var i:=n downto 1 do{в цикле просматриваем элементы массива}  begin    if A[i] < 0 then {проверяем, нужно ли удалять i-ый элемент}    begin{если нужно – удаляем i-ый элемент}      for var j := i to n1 - 1 do         A[j] := A[j + 1]; {сдвигаем}       A[n1]:=0;        Dec(n1); {уменьшаем количество элементов}    end;  end;  for var i:=1 to n1 do    write(A[i], ' ');end.

(32.2k баллов)
0

А как сделать без рандома

0

Например, вводить их с клавиатуры. Или вводить их из файла.

0

вводить их с клавиатуры