Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
11 / 11 / 2
Регистрация: 17.02.2014
Сообщений: 947
1

Программа для нумерации строк файла

02.02.2016, 15:49. Показов 2083. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Строки исходного файла должны
копироваться в конечный файл с добавлением перед каждой строкой её номера.

Как реализовывается добавление номеров строк? Как то через цикл?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2016, 15:49
Ответы с готовыми решениями:

Найти сумму элементов на пересечении строк четной нумерации и столбцов нечетной нумерации в двумерном массиве
Здравствуйте. Помогите,пожалуйста,найти сумму элементов на пересечении строк четной нумерации и...

Макрос для автоматической нумерации строк
Подскажите, пожалуйста, как исправить макрос чтобы строки нумеровались автоматически на листе, а...

Редактор для нумерации строк в тексте?
Собственно нужно вот что: cat -n file1.txt > file2.txt Какой редактор это может? Возможно ли в...

Сброс нумерации строк для каждого населенного пункта
Подскажите как поправить мне код. Есть код который выводит такой отчет (вложение 333.jpg). ...

12
115 / 92 / 66
Регистрация: 27.04.2014
Сообщений: 307
02.02.2016, 16:02 2
Да, через цикл
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.02.2016, 16:07 3
Pascal
1
2
3
4
5
6
7
k:=0;
while not eof(f) do
 begin
  readln(f,s);
  inc(k);
  writeln(g,k,'. ',s);
 end;
1
115 / 92 / 66
Регистрация: 27.04.2014
Сообщений: 307
02.02.2016, 16:34 4
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
2
3
while not eof(f) do
*begin
* readln(f,s)
;
У меня подобная вещь длится бесконечно, из-за eof он переписывает пустые строки, в то время когда с тектом всего 4 строки. В паскале не силён, но в c# делал просто: while(f.ReadLine !=""), а как здесь это реализовать?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.02.2016, 16:37 5
А зачем в файле пустые строки в конце?

Добавлено через 48 секунд
Цитата Сообщение от Difaust Посмотреть сообщение
подобная вещь длится бесконечно
Это сколько же пустых строк до конца файла?
0
115 / 92 / 66
Регистрация: 27.04.2014
Сообщений: 307
02.02.2016, 16:44 6
В общем вот содержимое файла:
Bash
1
2
3
4
5
id5344
second
third
4th
5th
Вот код:
Pascal
1
2
3
4
5
6
  while not eof (text) do
  begin
    read(text,s1);
    writeln(s1,i);
    i:= i+1;    
  end;
И вот такой вывод почему-то:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
  id53440
1
2
3
4
5
6
7
8
9
10
11
И там далее и там далеко далеко числа идут..
Почему нету остальных строк а только цифры?
И почему цифры с пустыми строками?
А так цифры до 10000 доходили, дальше я уже останавливал

Добавлено через 1 минуту
А нет, вместо read(text,s1); использовал readln(text,s1); и заработало как надо
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.02.2016, 16:45 7
Цитата Сообщение от Difaust Посмотреть сообщение
read(text,s1);
Я разве так писал? Ты что собрался читать строки или символы?
0
115 / 92 / 66
Регистрация: 27.04.2014
Сообщений: 307
02.02.2016, 16:46 8
Да не, я только решил поизучать паскаль и вот первое, что нашёл в интернете начал пробовать..
0
Модератор
9871 / 5239 / 3306
Регистрация: 17.08.2012
Сообщений: 16,007
02.02.2016, 17:00 9
И ещё. Никак нельзя для текстового файла читать и писать в один и тот же файл, поскольку текстовый файл является файлом с последовательным доступом.

Добавлено через 1 минуту
Цитата Сообщение от Difaust Посмотреть сообщение
и заработало как надо
Сомневаюсь.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.02.2016, 17:02 10
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
Сомневаюсь.
Почему? Он же
Цитата Сообщение от Difaust Посмотреть сообщение
вместо read(text,s1); использовал readln(text,s1);
0
Модератор
9871 / 5239 / 3306
Регистрация: 17.08.2012
Сообщений: 16,007
02.02.2016, 17:09 11
Для текстового файла необходимо использовать дополнительный файл:
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
const fn = 'test.txt';
      ft = 'temp.tmp';
 
var f, g: text;
    s: string;
    k: integer;
 
begin
  assign(f, fn);
  reset(f);
  assign(g, ft);
  rewrite(g);
  k := 0;
  while not eof(f) do
    begin
      readln(f, s);
      inc(k);
      writeln(g, k, '. ', s)
    end;
  close(f);
  close(g);
  erase(f);
  rename(g, fn)
end.
Можно, конечно, объявить текстовый файл как типизированный (символьный), тогда возможно обойтись и без дополнительного файла. Поскольку для типизированного файла допустимо как чтение, так и запись при любом режиме открытия файла.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
02.02.2016, 17:12 12
А у меня, что, задница используется?
Pascal
1
2
3
4
5
6
7
k:=0;
while not eof(f) do
 begin
  readln(f,s);
  inc(k);
  writeln(g,k,'. ',s);
 end;
0
Модератор
9871 / 5239 / 3306
Регистрация: 17.08.2012
Сообщений: 16,007
02.02.2016, 17:16 13
Puporev, показалось, что для ввода и вывода используется одна и та же файловая переменная. Сбило с толку, что
Цитата Сообщение от jestero Посмотреть сообщение
Строки исходного файла должны копироваться в конечный файл
А в фрагменте - вывод на дисплей, явно не по заданию.

Добавлено через 2 минуты
Цитата Сообщение от Puporev Посмотреть сообщение
А у меня, что,
Puporev, произошёл парадокс разновременности. Ответы умудрились опередить вопросы.
0
02.02.2016, 17:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2016, 17:16
Помогаю со студенческими работами здесь

Программа для определения количества цифр для нумерации квартир
Программа спрашивает у пользователя, сколько квартир нужно пронумеровать. Результат работы : вывод...

Оптимизация нумерации строк
Собственно хочу сделать нумерацию строк. Да сделал ну работает очень медленно. Если вставлять...

Настройка нумерации строк
Где настроить, чтобы отображалась нумерация строк. в msdn ответа не нашел, здесь тоже:...

Создание нумерации строк
Доброго времени суток. Пишу свой простенький редактор и нужна помощь, подскажите как сделать...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru