• В массиве из 20 целых чисел найдите наибольший элемент среди отрицательных и поменяйте его местами с первым элементом.
    Вот начал делать, а потом не знаю как дальше:

    const
    k=20;
    var
    a:array[1..k] of integer;
    g,i,max:=integer;
    begin
    for i:=1 to n do begin
    a[i]:=random(20)-10;
    write(a[i],' ');
    max:=a[i];
    for i:=1 to n do
    if a[i]<0 then max:=a[i];
    writeln('max=',max);
    end;

    Дальше не знаю, там по-моему надо ввести переменную (в моём случае "g") и мне кажется там ошибка в поиске максимально среди отрицательных элементов. Помогите пожалуйста.

Ответы 1

  • var a:array[1..20] of integer;i,max,c,nom:integer;beginmax:=-100000000;for i:=1 to 20 do begina[i]:=random(20)-10;write(a[i],' ');end;for i:=1 to 20 do beginif (a[i]<0) and  (a[i]>max) then  nom:=i;if (a[i]<0) and  (a[i]>max) then max:=a[i];end;writeln;for i:=1 to 20 do beginif i=nom then swap(a[nom],a[1]);end;for i:=1 to 20 do beginwrite(a[i],' ');end;writeln('max=',max,');end.
  • Добавить свой ответ

Войти через Google

или

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

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

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