Задайте массив из 10 элементов с датчика случайных чисел. замените все отрицательные элементы на наименьший положительный. выведите на экран исходный и полученный массив.

iukhg iukhg    2   29.06.2019 04:10    4

Ответы
Narine10 Narine10  02.10.2020 14:52
Var a:array[1..10] of integer;
  k,n,i:integer;
  min:INTEGER;
begin
  randomize; N:=10; k:=0 {кол-во отрицательных элементов};
  writeln ('исходный массив');
  for i:=1 to N do
  begin
   if random(2) =1 then a[i]:=random(100)
     else begin k:=k+1; a[i]:=-random(100); min:=a[I] end;
   write(a[i]:5);
  end;
  writeln;
  {поиск минимального положительного}
  if (k<>0) or (k<>N) then  {есть отрицательные или не все отрицательные}
  begin
    for i:=1 to N do
     if  (a[i]>0) and (a[i]<min) then  min:=a[i];
  {замена}
    for i:=1 to N do
     if  (a[i]<0)  then  a[i]:=min;
  end;
  writeln('Новый массив')
    for i:=1 to N do      write(a[i]:5);
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика