Консультация онлайн # 160955

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Student_
Дата: 20.02.2009, 07:57 Консультация неактивна
Поступило ответов: 1
Здравствуйте! Помогите, пожалуйста, написать программы (с комментариями):
1. Задача Джозефуса. Данная задача представляет собой своего рода считалку. Формальное описание алгоритма этой считалки. Для этого элементы "становятся в круг", вводится некоторое число k. Необходимо, начиная с первого, отсчитать k-й элемент списка и удалить его. Далее отсчет начинается с k+1 элемента и опять удаляется k-ый элемент. Так продолжается до тех пор, пока в списке не останется один элемент. Необходимо выдать содержимое последнего оставшегося элемента (например, строку). Для решения использовать кольцевой список.
2. Дана последовательность из не менее чем двух различных натуральных чисел. Напечатать в обратном порядке все числа между наибольшим и наименьшим числами этой последовательности. Использовать двумерный список.

Ответ # 1, Denisss (Посетитель)


Здравствуйте, Student_!

Примеры находятся в приложении.

В первом примере нужно ввести два числа: n (размерность списка) и k.

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

Честно говоря, термин "двумерный список" мне встречается впервые, да и Google мне не подсказал что это за зверь. Поэтому пришлось предположить, что это "двусвязный список", т.е. список, каждый элемент которого имеет указатель на следующий и предыдущий элементы.

Удачи!

Приложение:


Denisss

Посетитель
20.02.2009, 17:42
Нет оценки ответа

Мини-форум консультации # 160955


Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.