Pascal. дан одномерный динамический массив a(n), заполненный случайными числами в диапазоне от -30 до 30. все отрицательные элементы до минимального обнулить. исходный и изменённый массивы вывести на экран в отдельных строках.
Var ar:array of integer; n,i,min,mini:integer; begin randomize; min:=2147483647; writeln('Введите размерность:'); readln(n); setlength(ar,n); writeln('Array:'); for i:=0 to n-1 do begin ar[i]:=random(-30,30); write(ar[i]:4); if min>=ar[i] then begin min:=ar[i]; mini:=i; end; end; for i:=0 to mini-1 do if ar[i]<0 then ar[i]:=0; writeln; writeln('Final array:'); for i:=0 to n-1 do write(ar[i]:4); end.
Пример ввода: 5 Пример вывода: Array: -3 -26 -2 18 -21 Final array: 0 -26 -2 18 -21
Обнуляются все отрицательные элементы, расположенные от начала массива до минимального элемента.
// PascalABC.NET 3.1, сборка 1179 от 29.02.2016 begin var n:=ReadInteger('n='); var a:=ArrRandom(n,-30,30); a.Println; var m:=a.Min; var i:=0; while a[i]<>m do begin if a[i]<0 then a[i]:=0; Inc(i) end; a.Println end.