Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Разворот

(Время: 1 сек. Память: 16 Мб Сложность: 9%)

Эта простая задача сводится к чтению чисел в массив и выводу массива в обратном порядке. Обратный порядок существенно повышает желание использовать массив, т.к. возникает необходимость в запоминании всех элементов (если бы порядок вывода был прямым, то можно было бы считывая элемент тут же его выводить).

Приведем нехитрый алгоритм решения этой задачи:

//читаем количество элементов в n
read(n);
//чтение элементов из файла в массив
for i=1..n{
  read(a[i]);
}
//вывод элементов из массива в файл в обратном порядке
for i=n..1{
  write(a[i],' ');
}

На самом деле эту задачу возможно решить и без массива, используя рекурсию, где все элементы можно хранить в стеке рекурсии, но это значительно сложнее и требует понимания рекурсии. Если вам знаком этот механизм, то более полезно решить данную задачу именно таким образом.


[Обсуждение] [Все попытки] [Задача]


Красноярский краевой Дворец пионеров, (c)2006 - 2019, E-mail: admin@acmp.ru