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

0 голосов

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


спросил от Начинающий (245 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Кандидат Наук (32.2k баллов)
 
Лучший ответ

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.

оставил комментарий от Начинающий (245 баллов)

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

оставил комментарий от Кандидат Наук (32.2k баллов)

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

оставил комментарий от Начинающий (245 баллов)

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

...