IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> текстовый фаил, неполучается работать с каждой строкой
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Влад

Репутация: -  0  +


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

Код
program laba91;
uses    crt;
const   filename='c:\text.txt';
var     f:text;
        ln:string[80];
        i,k,poz,n,m:byte;
        s,a:string;

procedure list;
begin
     textcolor(15);
     writeln('Text of the file');
     textcolor(yellow);
     reset(f);
     while not eof(f) do
       begin
         readln(f,ln);
         writeln(ln);
       end;
     close(f);
end;

begin
     clrscr;
     assign(f,filename);
     list;
     n:=0;
     k:=length(ln);
     for i:=1 to length(ln) do
       begin
         poz:=pos(' ',ln);
         m:=poz-1;
         if i=k then m:=k;
         if ln[1]=ln[m] then
          begin
           n:=n+1;
           delete(ln,1,poz);
          end
         else delete(ln,1,poz);
      end;
      writeln;
      textcolor(7);
      writeln(n);
      readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
сообщение
Сообщение #2


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


Цитата
код анализирует только последнюю

все правильно, потомучот после выхода из процедуры лист у тебя только 1 последняя строка
нужно еще раз открыть файл и построчно считывать строки

VAR
ln:string;
....


list;
n:=0;

reset(f);
while not eof(f) do
begin
readln(ln);
k:=length(ln);
for i:=1 to length(ln) do
begin
poz:=pos(' ',ln);
m:=poz-1;
if i=k then m:=k;
if ln[1]=ln[m] then
begin
n:=n+1;
delete(ln,1,poz);
end
else delete(ln,1,poz);
end;
end;
...



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






   while not eof(f) do 
begin
readln(F, ln); { <--- }
Читать из файла надо, amega
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Влад

Репутация: -  0  +


Спасибо ребята!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


?
***

Группа: Пользователи
Сообщений: 283
Пол: Мужской

Репутация: -  4  +


Цитата
Читать из файла надо, amega

извиняюсь, пропустил момент.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 30.05.2024 21:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name