написать программку, которая обретает три самых великих частей массива, и вместо
Написать программу, которая обретает три самых великих частей массива, и вместо них записывает их номера ячеек \ массив [1..5]
Задать свой вопрос2 ответа
Никита Хохлач
Начальный массив: -3 -4 -1 -8 6
Max1 = A[5] = 6
Max2 = A[3] = -1
Max3 = A[1] = -3
Новый массив: 1 -4 3 -8 5Const
N = 5;
Var
A:array[1..N] of integer;
i,Max1,Max2,Max3:integer;
Begin
Randomize;
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]gt;A[Max1] then Max1:=i;
if Max1lt;gt;1 then Max2:=1
else Max2:=2;
For i:= 1 to N do
if (A[i]gt;A[Max2])and(A[i]lt;=A[Max1])and(ilt;gt;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]gt;A[Max3])and(A[i]lt;=A[Max2])and(ilt;gt;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 6
Max1 = A[5] = 6
Max2 = A[3] = -1
Max3 = A[1] = -3
Новый массив: 1 -4 3 -8 5
Max1 = A[5] = 6
Max2 = A[3] = -1
Max3 = A[1] = -3
Новый массив: 1 -4 3 -8 5Const
N = 5;
Var
A:array[1..N] of integer;
i,Max1,Max2,Max3:integer;
Begin
Randomize;
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]gt;A[Max1] then Max1:=i;
if Max1lt;gt;1 then Max2:=1
else Max2:=2;
For i:= 1 to N do
if (A[i]gt;A[Max2])and(A[i]lt;=A[Max1])and(ilt;gt;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]gt;A[Max3])and(A[i]lt;=A[Max2])and(ilt;gt;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 6
Max1 = A[5] = 6
Max2 = A[3] = -1
Max3 = A[1] = -3
Новый массив: 1 -4 3 -8 5
Виктория Левашко
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(5,-50,50); a.Println;
var b:=a.Select((x,i)-gt;(x,i)).OrderByDescending(xi-gt;xi[0]).
Select(xi-gt;xi[1]).Take(3);
foreach var i in b do a[i]:=i+1;
a.Println;
end.
Пример
39 -22 -29 49 -18
1 -22 -29 4 5
// Внимание! Если программка не работает, обновите версию!
begin
var a:=ArrRandom(5,-50,50); a.Println;
var b:=a.Select((x,i)-gt;(x,i)).OrderByDescending(xi-gt;xi[0]).
Select(xi-gt;xi[1]).Take(3);
foreach var i in b do a[i]:=i+1;
a.Println;
end.
Пример
39 -22 -29 49 -18
1 -22 -29 4 5
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов