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

Ответы 1

  • Первый вариант выполнения:Var x: Array[1..10] of Integer; i: Byte; min: Integer;BEGINRandomize;min:=High(min);Writeln(\'Массив до изменений:\');For i:=1 to 10 dobegin x[i]:=Random(51)-25; Write(x[i],\' \'); If (x[i]>0) and (x[i]<min) Then min:=x[i];end;Writeln(\'После изменений:\');For i:=1 to 10 dobegin If x[i]<0 Then x[i]:=min; Write(x[i],\' \');end;ReadlnEND.Второй вариант:uses crt;const n=10;type TVect = array [1..n] of integer;var Vect:TVect;procedure EnterVect(var A:TVect);var i:byte;begin for i:=1 to n do A[i]:=(random(10)-random(15))*2;end;function MinElem(A:TVect):integer;var i:byte; buf:integer;begin buf:=0; i:=1; while (i<=n) do begin if A[i]>0 then begin buf:=A[i]; break; end; inc(i); end; for i:=1 to n do if (A[i]>0) and (A[i]<buf) then buf:=A[i];MinElem:=buf;end;procedure ChangeNeg(var A:Tvect);var i:byte;begin for i:=1 to n do if A[i]<0 then A[i]:=MinElem(A);end;procedure ExitVect(A:TVect);var i:byte;begin for i:=1 to n do write(A[i], \' \'); writeln;end;beginclrscr;randomize;EnterVect(Vect);ExitVect(Vect);ChangeNeg(Vect);ExitVect(Vect);readln;end.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years