Заменим буквы А, О, У на 0, 1, 2(для них порядок очевиден – по возрастанию)
Выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00010
Полученная запись есть числа, записанные в троичной системе счисления в порядке возрастания. Тогда на 61 месте будет стоять число 60 (т. к. первое число 0). Переведём число 60 в
троичную систему (деля и снося остаток справа налево):
60/ 3 = 20 (0)
20 / 3 = 6 (2)
6 / 3 = 2 (0)
2 / 3 = 0(2)
02020
В троичной системе 60 запишется как 02020. Произведём обратную замену и получим АУАУА
Объяснение:
nn = 50;
var
a,b,nb:array[1..nn] of integer;
i,n,j: integer;
begin
Write('Введите количество элементов в массиве (n<51): ');
Read(n);
Writeln('Вводите элементы массива');
j:=0;
for i:=1 to n do
begin
Read(a[i]);
if a[i]<0 then begin Inc(j); b[j]:=a[i]; nb[j]:=i end
end;
if j>0 then begin
Write('Отрицательные элементы: ');
for i:=1 to j do Write(b[i],' ');
Writeln;
Write('Индексы отрицательных элементов в массиве:');
for i:=1 to j do Write(nb[i]:3);
Writeln
end
end.
Результаты тестирования:
Введите количество элементов в массиве (n<51): 9
Вводите элементы массива
3 5 -2 3 -2 0 -6 -8 1
Отрицательные элементы: -2 -2 -6 -8
Индексы отрицательных элементов в массиве: 3 5 7 8
Введите количество элементов в массиве (n<51): 8
Вводите элементы массива
-1 -2 -3 -4 0 -1 2 3
Отрицательные элементы: -1 -2 -3 -4 -1
Индексы отрицательных элементов в массиве: 1 2 3 4 6