0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 11
1

Задание со стеками и очередями: Содержимое файла f переписать в файл g, перенося цифры в конец строки

28.07.2013, 15:04. Показов 1703. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить задание:

Используя очередь, решить следующую задачу. Содержимое текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все входящие в нее цифры (с сохранением исходного порядка как среди цифр, так и среди остальных литер строки).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.07.2013, 15:04
Ответы с готовыми решениями:

Очереди: Содержимое текстового файла переписать в новый файл, перенося цифры в конец строки
Здравствуйте! Используя очередь, решить следующую задачу. Содержимое текстового файла f,...

Переписать содержимое файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания
Дан текстовый файл А. Переписать его содержимое в файл В, перенося при этом в конец каждой строки...

Составное текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при этом в конец каждой строки все цифры, входящие в него
Составное текстового файла f, разделенное на строки, переписать в текстовый файл g, перенося при...

Очередь: переписать содержимое одного файла в другой, перенося знаки препинания в конец строки
1. Пусть дан текстовый файл А. Перепишите его содержимое в файл В, перенося при этом в конец каждой...

3
 Аватар для yutr777
8 / 8 / 3
Регистрация: 07.04.2013
Сообщений: 85
28.07.2013, 15:26 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var f,g:text;
    s1,s2,s:ansistring;
    i:longint;
begin
assign(f,'input.txt');
assign(g,'output.txt');
reset(f);
rewrite(g);
while not eof(f) do
  begin
    readln(f,s);
    s1:='';
    s2:='';
    for i:=1 to length(s) do
      if (s[i] in ['a'..'z','A'..'Z']) or (s[i]=' ') then s1:=s1+s[i]
      else s2:=s2+s[i];
    s1:=s1+s2;
    writeln(g,s1);
  end;
close(f);
close(g);
end.
Просто и легко без очереди...а если очередь ооочень надо...тогда подожди 3 минутки)

Добавлено через 6 минут
Ну а вот и решение с очередью)
Clear - выводит все в файл g, а push добавляет строку в очередь.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
type queue=^q;
       q=record
         data:string;
         next:queue;
       end;
var f,g:text;
    s1,s2,s:ansistring;
    i:longint;
    qBegin,qEnd:queue;
procedure push(data:string);
begin
if (qBegin=nil) then
  begin
    new(qEnd);
    qBegin:=qEnd;
  end
else
  begin
    new(qEnd^.next);
    qEnd:=qEnd^.next;
  end;
qEnd^.data:=data;
qEnd^.next:=nil;
end;
procedure clear;
var p:queue;
begin
while true do
  begin
    new(p);
    p:=qBegin;
    if p=nil then break;
    writeln(g,p^.data);
    qBegin:=p^.next;
    dispose(p);
  end;
end;
begin
assign(f,'input.txt');
assign(g,'output.txt');
reset(f);
rewrite(g);
while not eof(f) do
  begin
    readln(f,s);
    s1:='';
    s2:='';
    for i:=1 to length(s) do
      if (s[i] in ['a'..'z','A'..'Z']) or (s[i]=' ') then s1:=s1+s[i]
      else s2:=s2+s[i];
    s1:=s1+s2;
    push(s1);
  end;
clear;
close(f);
close(g);
end.
2
0 / 0 / 0
Регистрация: 24.02.2013
Сообщений: 11
28.07.2013, 18:48  [ТС] 3
спасибо
0
 Аватар для yutr777
8 / 8 / 3
Регистрация: 07.04.2013
Сообщений: 85
28.07.2013, 23:12 4
syber2013, next - ссылка на следующий элемент в очереди.
data - ключ, т.е. строка, которая находится в очереди.
Тип queue - наша структура(очередь).
s1,s2 - строки преобразованные.
3
28.07.2013, 23:12
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.07.2013, 23:12
Помогаю со студенческими работами здесь

Переписать все из файла А в файл В, перенося в конец каждой строки все входящие в нее знаки препинания
Переписать все из файла А в файл В, перенося при этом в конец каждой строки все входящие в нее...

Переписать все цифры каждой строки файла в конец строки
Содержимое текстового файла INPUT.TXT, разделенного на строки, переписать за один проход по файлу в...

Переписать в текстовый файл Т2 содержимое текстового файла Т1 без строк, содержащих цифры
Help. Чистый си Разработать программу, переписывающую в текстовый файл Т2 содержимое текстового...

Переписать в новый файл все строки файла, вставив в конец каждой строки ее номер
Дан текстовый файл. Переписать в новый файл все его строки, вставив в конец каждой строки ее номер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Преобразование полей (элементов управления содержимым) в обычный текст
РоΜа 23.01.2025
Возникла необходимость преобразовать поля в текст (те, что на вкладке разработчик добавляются) . Помучившись родил следующее: Sub ПоляВТекст() Преобразует все поля в текст (даты, текст,. . .
Как проверить существование директории в скрипте Bash
bt_guru 23.01.2025
При разработке скриптов Bash одной из ключевых задач является корректная работа с файловой системой, где особое место занимает проверка существования директорий. Эта операция становится критически. . .
Как работают срезы (slice) в Python
bytestream 23.01.2025
Python предоставляет разработчикам мощный и гибкий инструмент для работы с последовательностями данных - срезы (slices). Эта функциональность позволяет извлекать, модифицировать и управлять. . .
Как удалить подмодуль (submodule) в Git
bytestream 23.01.2025
При работе с крупными проектами в системе контроля версий Git разработчики часто сталкиваются с необходимостью управления зависимостями и внешними компонентами. Подмодули (submodules) представляют. . .
В чем разница между @staticmethod и @classmethod в Python. Декораторы методов
bytestream 23.01.2025
В Python декораторы методов представляют собой мощный инструмент, позволяющий модифицировать поведение функций и методов без изменения их исходного кода. Эта возможность является одной из. . .
Как преобразовать InputStream в String в Java
bytestream 23.01.2025
В мире Java-разработки работа с потоками данных является одной из ключевых операций при создании современных приложений. InputStream, как фундаментальный класс для обработки входных потоков данных,. . .
Как обновить форк (ответвление) репозитория в Git
bytestream 23.01.2025
Одним из наиболее мощных инструментов Git для организации совместной работы является механизм форкинга репозиториев, который позволяет создавать независимые копии проектов для дальнейшей разработки. . . .
Как работает async/await в C#. Асинхронное программировани­е в .NET
bytestream 23.01.2025
Введение в асинхронное программирование Асинхронное программирование представляет собой важнейшую концепцию современной разработки программного обеспечения, особенно в контексте создания. . .
КуМир: полное руководство
bytestream 23.01.2025
Введение в КуМир: история создания и назначение КуМир (Комплект Учебных МИров) представляет собой образовательную среду программирования, которая была создана для обучения основам алгоритмизации и. . .
Что такое OLAP. Где и как использовать многомерный анализ данных
bytestream 23.01.2025
Введение в OLAP-технологии В современном мире бизнес-аналитика и обработка больших массивов данных играют ключевую роль в принятии стратегических решений. Организации накапливают огромные объемы. . .
MongoDB: что это, для чего нужна и как использовать
bytestream 23.01.2025
Введение в MongoDB: современная документоориентированная СУБД В современном мире разработки программного обеспечения выбор правильной системы управления базами данных является критически важным. . .
Как использовать закрытый ключ шифрования в Git. Шифрование в Git
bytestream 23.01.2025
Установка и настройка закрытых ключей в Git предоставляет дополнительный уровень безопасности для работы с репозиториями. Для начала необходимо создать пару ключей, обычно это осуществляется с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru