Дан массив 20 целых чисел из интервала от -12 до 34. с клавиатуры получить числа в переменные a, b. указать элементы из массива, которые принадлежат интервалу от a до b.
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; 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.
У меня получилось вот что (смотри скриншоты листинга программы и результата работы этой программы): uses Crt; const n = 10; var A: array [1..n] of integer; i: integer; begin ClrScr; Randomize; WriteLn ( ' Massiv I: '); for i:=1 to n do begin A[i] := 1+random(n); Write (A[i]:4); end; WriteLn; WriteLn ( ' Massiv II: '); for i:=1 to n do begin if (A[i] mod 2 =0) then A[i]:=0 else A[i]:=3*A[i]; Write (A[i]:4); end; ReadLn; end.
var
ar: array [1..20] of Integer;
a, b, i: Integer;
begin
Randomize;
for i := Low (ar) to High (ar) do begin
ar [i] := Random (47) - 12;
Write (ar [i], ' ');
end;
WriteLn;
Write ('A, B = ');
ReadLn (a, b);
for i := Low (ar) to High (ar) do
if (ar [i] >= a) and (ar [i] <= b) then
Write (ar [i], ' ');
ReadLn;
end.