• написать программу, которая находит три самых больших элементов массива, и вместо них записывает их номера ячеек \ массив [1..5]

Ответы 2

  • Исходный массив: -3 -4 -1 -8 6Max1 = A[5] = 6Max2 = A[3] = -1Max3 = A[1] = -3Новый массив: 1 -4 3 -8 5Const   N = 5;Var   A:array[1..N] of integer;   i,Max1,Max2,Max3:integer;BeginRandomize;Write('Исходный массив:');For i:= 1 to N do    Begin    A[i]:=random(21)-10;    Write(' ',A[i]);    End;Max1:=1;For i:= 2 to N do    if A[i]>A[Max1] then Max1:=i;if Max1<>1 then Max2:=1else Max2:=2;For i:= 1 to N do    if (A[i]>A[Max2])and(A[i]<=A[Max1])and(i<>Max1) then Max2:=i;Max3:=1;if (Max2=Max3)or(Max1=Max3) then Max3:=Max3+1;if (Max2=Max3)or(Max1=Max3) then Max3:=Max3+1;For i:= 1 to N do    if (A[i]>A[Max3])and(A[i]<=A[Max2])and(i<>Max2) then Max3:=i;WriteLn;WriteLn('Max1 = A[',Max1,'] = ',A[Max1]);WriteLn('Max2 = A[',Max2,'] = ',A[Max2]);WriteLn('Max3 = A[',Max3,'] = ',A[Max3]);A[Max1]:=Max1;A[Max2]:=Max2;A[Max3]:=Max3;Write('Новый массив:');For i:= 1 to N do    Write(' ',A[i])End.Пример работы программы:Исходный массив: -3 -4 -1 -8 6Max1 = A[5] = 6Max2 = A[3] = -1Max3 = A[1] = -3Новый массив: 1 -4 3 -8 5
    • Автор:

      bb
    • 4 года назад
    • 0
  • // PascalABC.NET 3.2, сборка 1417 от 28.03.2017// Внимание! Если программа не работает, обновите версию!begin  var a:=ArrRandom(5,-50,50); a.Println;  var b:=a.Select((x,i)->(x,i)).OrderByDescending(xi->xi[0]).      Select(xi->xi[1]).Take(3);  foreach var i in b do a[i]:=i+1;  a.Println;end.Пример39 -22 -29 49 -181 -22 -29 4 5
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

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

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

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