|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.02.2019, 21:03 | #1 |
Регистрация: 09.02.2019
Сообщений: 7
|
Написать процедуру удаления из из ТИПИЗИРОВАННОГО файла повторные вхождения одного и того же числа(паскаль)
Вообщем нельзя использовать более одного вложенного цикла)
Такая тема уже была, но там в коде 2 вложенных цикла, а мне так не надо У меня программа получилась, но из-за неправильного алгоритма работает не правильно, помогите пожалуйста решить. До меня не доходит как это сделать. Я написал, и вот что-то типо этого должно быть, мне кажется я близок к решению Код:
|
16.02.2019, 21:15 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Во вложенном цикле нужно просто искать совпадение. Если нашел сразу Break. И оставить или нет запись в файле решать по выходу из вложенного цикла в зависимости от результата поиска
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
16.02.2019, 21:20 | #3 |
Регистрация: 09.02.2019
Сообщений: 7
|
Забыл, breake нельзя использовать.
breake не поможет если будет несколько повторов одного и того же числа, а мы выйдем из цикла Входные данные: 1 2 3 2 2 3 3 Выходные должны быть: 1 2 3 |
16.02.2019, 21:24 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ты решаешь оставить или нет запись из внешнего цикла и не важно сколько там повторов в оставшейся части файла, важно есть они или нет. Нельзя Break использовать - не используй, считай все повторы. Глупое ограничение )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
16.02.2019, 21:29 | #5 |
Регистрация: 09.02.2019
Сообщений: 7
|
ну я примерно так и делал, только не могу допереть где исправить)
Вы не могли бы хоть примерно набросать код?) |
16.02.2019, 21:30 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Космодемьян, постоянно дергать запись в файл - далеко не самое быстрое и эффективное решение.
Вы не рассматривали вариант прочитать файл целиком в память, там удалить повторы и результат сохранить в типизированный файл? Или тут как раз стоит учебная задача, чтобы обучаемый научился "дёргать" файл? |
16.02.2019, 21:34 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Конечно дергать не хорошо, но если очень надо, то примерно так:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
16.02.2019, 21:40 | #8 |
Регистрация: 09.02.2019
Сообщений: 7
|
Спасибо большое)
|
17.02.2019, 17:10 | #9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я бы только рекомендовал с алгоритмом внимательно ознакомиться.
порядок выходного файла может вызвать вопросы, если не понимать алгоритм. в выходной файл записываются те числа, которые уже дальше не встречаются. например, если в выходном файле задано 1 2 3 4 4 3 2 1 то в результирующем файле получим 4 3 2 1 |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Используя очередь, написать процедуру или функцию,для вычисления среднего геометрического элементов типизированного файла (Паскаль | BumBum4ik | Помощь студентам | 0 | 04.01.2014 18:12 |
Повторные вхождения слов | Praud | Помощь студентам | 53 | 22.12.2013 18:03 |
процедура удаления данных из типизированного файла | Mikheeva_Ksu | Помощь студентам | 0 | 21.06.2013 17:59 |
Написать процедуру удаления записи из файла. Pascal | doomer74 | Помощь студентам | 0 | 08.03.2012 10:36 |
Дан файл, компоненты которого являются целыми числами. Преобразовать его, исключив повторные вхождения одного и того же | Vikulyaa | Помощь студентам | 2 | 05.10.2011 19:15 |