Вопрос № 105563: Уважаемые эксперты, пожалуйста, помогите с решением!
Используя очередь, решить следующую задачу. Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все входящие в нее цифры...
Вопрос № 105.563
Уважаемые эксперты, пожалуйста, помогите с решением!
Используя очередь, решить следующую задачу. Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все входящие в нее цифры (с сохранением исходного порядка, как среди цифр, так и среди остальных литер строки).
Заранее благодарен, Oleg.
Вот смотрите код, который выполняет выше перечисленные действия: var f,g:text;
s,sn:string;
i:integer;
begin
assign(f,'old.txt'); {связываемся с файлами}
assign(g,'new.txt');
reset(f);
rewrite(g);
while not eof(f) do
begin
readln(f,s);
i:=1;
sn:='';
while i<=length(s) do {непосредственно издевательство над файлом ;)}
begin
if s[i] in ['0'..'9'] then
begin
sn:=sn+s[i];
delete(s,i,1);
end
else inc(i);
end;
writeln(g,s+sn);
end;
close(f);
close(g); {закрываем за собой файлы после обработки}
end.
Только не забудьте создать файлы old.txt и new.txt,а также расположить их рядом с программой.
Good Luck!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Профессор) Украина, Славянск Организация: Славянский государственный педагогический университет (Кафедра алгебры) ICQ: 289363162 ---- Ответ отправлен: 15.10.2007, 22:59 Оценка за ответ: 3 Комментарий оценки: Извините за оценку, но в вопросе написано решить задачу, используя очередь.
Может быть я, что-то не понял, но в вашем коде нет очереди. Там только чтение из файла, сортировка и запись в файл.
В моем понимании надо создать очередь, считать из файла в очередь первую строку, все остальные строки добавлять в очередь, после этого извлекать строки из очереди, сортируя их и записать в файл отсортированные строки. Так же я хотел использовать динамические переменные, но об этом не писал в вопросе.
Еще раз приношу свои извинения.
Может я некорректно задал вопрос.
Отвечает: Артём1983
Здравствуйте, Kulikov_Oleg_Viktorovich!
В двух словах поясню своё решение.
Вначале я читаю строку во временую переменную. Далее в цикле проверяю вхождение каждого символа строки в множество my_set. И тут же в цикле записываю получившеюся строку в новый файл.
Приложение:
--------- Программирование - дело Путное!
Ответ отправил: Артём1983 (статус: 4-ый класс)
Ответ отправлен: 16.10.2007, 19:15 Оценка за ответ: 3 Комментарий оценки: Извините за оценку, но в вопросе написано решить задачу, используя очередь,
а у Вас ее в коде нет.
Только поэтому ставлю такую низкую оценку.
Большое спасибо за ответ и не обижайтесь, пожалуйста.