Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Небольшая задачка

Автор: Child of Bodom 3.05.2007 23:00

Помогите с одной задачкой, я ее вроде бы наклепал, но что то не правильно она работает. А условие здесь такое: Дан текстовый файл, в нем строчка. Так вот надо вывести все слова которые в ней есть(без повторения) и еще надо вывести сколько раз это слово встречается в строке. Вот что я наделал:


Program laba3_6;
uses crt;
type uk=^elem;
elem=record
Slovo:string;
kol:byte;
next:uk;
end;
var z,beg:uk;
f,g:text;
st:string;
procedure INIT (var beg:uk);
var p:integer;
begin
reset (f);
rewrite (g);
readln (f,st);
p:=pos (' ',st);
beg^.slovo:=copy (st,1,p-1);
Beg^.kol:=1;
beg^.next:=nil;
writeln (g,st);
close (f);
close (g);
end;

procedure reading (var beg:uk);
var z,p:uk;
st1:string;
i,q:integer;
begin
reset (g);
readln (g,st);
i:=1;
while i<>length(st) do begin
q:=pos(' ',st);
st1:=copy (st,1,q-1);
p:=beg;
new (z);
while (p^.next<>nil) or (p^.slovo<>st1) do begin
if p^.slovo=st1 then p^.kol:=p^.kol+1
else p:=p^.next;
end;

if p^.next=nil then begin
z^.slovo:=st1;
z^.kol:=1;
p^.next:=z;
z^.next:=nil;
end;
delete (st,1,q);
end;
close (g);
end;
procedure vivod (var beg:uk);
var p:uk;
begin
p:=beg;
while p^.next<>nil do begin
write (p^.slovo:10);
write (p^.kol:15);
writeln;
p:=p^.next;
end;
end;
BEGIN
clrscr;
assign (f,'Stishok.txt');
assign (g,'vremenn.txt');
init (beg);
reading (beg);
vivod (beg);
readln;
end.


Как бы мне кажется здесь все почти правильно , но где то ошибка поэтому программа не работает



Прикрепленные файлы
Прикрепленный файл  Stishok.txt ( 66 байт ) Кол-во скачиваний: 218

Автор: klem4 3.05.2007 23:06

http://forum.pascal.net.ru/index.php?showtopic=6972
+
http://forum.pascal.net.ru/index.php?s=&showtopic=2361&view=findpost&p=97499

Автор: Child of Bodom 3.05.2007 23:15

Мда и что мне это дало ? Там ваще ничего не понятно!!! Я попросил посмотреть что неправильно в моем коде,а не кидать мне ссылки. Я их сам найти не могу что ли. Я попросил нормально посмотреть что у меня неправильно, вы как будто половину сообщения не читаете

Автор: Артемий 3.05.2007 23:34

Свое раздражение тут показывать не надо!Пользуйся поиском ибо "ничего не понятно"!

Добавлено через 1 мин.
Было уже подобное.

Автор: Child of Bodom 3.05.2007 23:56

Да уж придется. В который раз прошу помочь, все одно и тоже: читай FAQ. мне просто непонятно как то почему так . Наверно форум для того и создавался, чтобы помогать а не ссылать

Автор: Lapp 4.05.2007 5:19

Цитата(Child of Bodom @ 3.05.2007 20:15) *

вы как будто половину сообщения не читаете

А ты как будто совсем не читал Правила.
Я удивляюсь, как тебе хоть это-то ответили.. Ты сам себе враг? никто не будет отвечать в тему с таким названием!
М
Срочно переименуй, иначе тема будет закрыта..