Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Object Pascal: кроссплатформенные технологии > строгая очередность из 0, 1 и 2 |
Автор: Delian 20.11.2011, 16:43 | ||
Привет! Такая задачка в паскале Из чисел 0, 1, 2, находящихся в различной последовательности, сделать строгую очередность из 0, 1 и 2. При этом сортировку не применять. Вывести результаты. Затем удалить по одному граничащему значению. Необходимо переписать числовые данные из текстового файла в: 1. одномерный массив, 2. типизированный файл, 3. линейный динамический список. выполнить в виде трех процедур, не связанных между собой.Так как исходные данные будут записаны в памяти тремя различными способами, то и подход к решению одной и той же задачи будет различен. Вот вроде очередность:
Как дальше написать программу по заданию? |
Автор: ФедосеевПавел 20.11.2011, 18:17 | ||
Полагаю, что здесь для каждого типа структуры (массив, список, файл) алгоритм такой: 1. В первом проходе посчитать количество вхождений каждого числа в структуру. Получим n0, n1 и n2 - количество 0, 1 и 2 в структуре. 2. Вторым проходом, записать в эту структуру n0 - 0, n1 - 1 и n2 - 2. Т.е. для массива это будет:
В файл запись ещё проще - не учитываешь индекс i, просто записываешь. Динамический список - среднее между файлом и массивом (к следующему элементу переходишь "вручную", но индекс не используешь). Местный FAQ почему-то сегодня не открывается, поэтому "отправляю" подальше. http://forum.sources.ru/index.php?showtopic=69615 и http://forum.pascalnet.ru/index.php?showtopic=2706. По файлам где-нибудь там же найдёшь. Чтение из файла в массив или динамический список многократно обсуждался на этом и на других форумах. |