В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Alexader2352
Alexader2352
25.07.2020 09:20 •  Информатика

Задача по информатике

Дан массив a из n целых чисел. За одну операцию можно выбрать два каких-то индекса x и y, после чего заменить число a[x] на сумму a[x]+a[y]. Ваша задача — сделав не более 2n операций получить массив, отсортированный по неубыванию (то есть, сделать так, чтобы каждый элемент был больше или равен, чем предыдущий).
входные данные:
3
5 2 4
выходные данные:
2
2 3
3 2

Показать ответ
Ответ:
Стас666228
Стас666228
19.05.2020 15:42
Var n,a,b,i,min:integer;
mass:array[1..100000] of integer;
begin
writeln('Введите кол-во элементов массива');
read(n);
writeln('Введите числа');
for i:=1 to n do// задаем массив пока i не станет равно n (i:=i+1 )
read(mass[i]);//считываем массив с индексом i
min:=mass[1];// обозначаем первый элемент массива за первый
b:=1;// индекс от первого элемента массива
for i:=1 to n do//цикл задаем массив пока i не станет равно n (i:=i+1 )
if mass[i]<min then begin//при условии что массив будет меньше первого числа то
b:=i;// обозначаем индекс
min:=mass[i];// обозначаем новый минимальный массив
end;
for i:=1 to b-1 do// задаем массив пока i не станет равно b-1 (i:=i+1 ); и еще b-1 значит чтобы само число b не входило в цикл
mass[i]:=mass[i]*mass[b];// домножаем на меньший массив
writeln('Полученный массив');// вывод массива
for i:=1 to n do
write(mass[i]:6);
end.
0,0(0 оценок)
Ответ:
abduqodir1794
abduqodir1794
29.03.2022 12:28
Const
   K = 3;
   N = 4;
Var
   A:array[1..K,1..N] of integer;
   Max,Min,i,j:integer;
Begin
For i:= 1 to K do
    Begin
    For j:= 1 to N do
        Begin
        A[i,j]:=random(21)-10;
        Write(A[i,j]:3,' ')
        End;
    WriteLn
    End;
Max:=A[K,N];
Min:=A[K,N];
For i:= 1 to K do
    For j:= 1 to N do
        Begin
        if Max<A[i,j] then Max:=A[i,j];
        if Min>A[i,j] then Min:=A[i,j]
        End;
WriteLn('Min = ',Min);
WriteLn('Max = ',Max);
End.

Пример:

 -3  -2   5  -8
  2  -3   7   5
-10  -2   7   4
Min = -10
Max = 7
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота