Pascal. Дан одномерный динамический массив A(n), заполненный случайными числами в диапазоне от -30 до 30. Все отрицательные элементы до минимального обнулить. Исходный и изменённый массивы вывести на экран в отдельных строках.
Pascal. Дан одномерный динамический массив A(n), заполненный случайными числами в диапазоне от -30 до 30. Все отрицательные элементы до минимального обнулить. Исходный и изменённый массивы вывести на экран в отдельных строках.
Ответ(ы) на вопрос:
Гость
//Pascal ABC.NET v3.1 сборка 1172
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.
Тестовое решение:
n= 10
-26 -25 -7 11 26 -13 12 -29 -15 -13
0 0 0 11 26 0 12 -29 -15 -13
Не нашли ответ?
Похожие вопросы