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

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

Форум «Всё о Паскале» _ Задачи _ поиск в файле

Автор: Aivan 22.11.2006 0:56

Здравствуйте такая задача стоит передомной. Задётся алфавит, а в файле етсь некий текст, нужно в этом тексте найти такие символы которые ен соответствуют алфавиту.... (ну пробел и конеч строки по всей видимости считаются в алфавите по умолчанию)...

я пытался написать что - то вроди этого, но не делает она нужного сам не понимаю почему...помогите плз...

program asd;
Uses
CRT;
var
fil,
fout : Text;
count,
count2,
count3,
ts : Byte;
str,
rts : array [1..100] of String;
chp : char;
bol : Boolean;
begin
ClrScr;
Assign(fil, 'C:/12.txt');
Assign(fout, 'C:/123.txt');
Reset(fil);
ReWrite(fout);


ts := 1;


for count := 1 to 3 do
begin
Write('‚ўҐ¤ЁвҐ [',count,']=');
ReadLn(rts[count]);

end; bol := False;

while NOT EOF(fil) do
begin
ReadLn(fil, chp);
writeln(chp);
for count:= 1 to 3 do
begin
if chp = rts[count] then Bol := True;
if (count = 3) and (bol = False) then WriteLn(chp);

end;
end;



{ for count:= 1 to ts do
for count2:= 1 to length(str[count]) do
for count3:= 1 to 3 do
begin
chp := Copy(str[count2],count2,1);
if (count3 = 3) and (bol = False) then WriteLn(chp);
if chp = rts[count3] then bol := True;
end;

}
close(fout);
close(fil);
ReadKey;
end.


М
Используй теги кода Паскаля, а не Цитату. Lapp


Автор: мисс_граффити 22.11.2006 1:58

через множества не пробовал?

Автор: Гость 22.11.2006 18:34

не получилось тоже, а времени уже сильные изыски искать нету...

Автор: мисс_граффити 22.11.2006 18:52

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

Автор: volvo 22.11.2006 18:56

Вот так не устроит:

const
alpha: string = 'abcdefghijklmn';

var
f: text;
ch: char;
other: set of char;

begin
assign(f, 'c.in'); reset(f);

other := [];
while not eof(f) do begin
read(f, ch);
if pos(ch, alpha) = 0 then include(other, ch);
end;
close(f);

for ch := #33 to #255 do { Печатаем все НЕуправляющие символы, присутствующие во множестве }
if ch in other then write(ch);
writeln;

end.
?

Автор: Гость 22.11.2006 21:01

да, только я не совсем понял...ход.... т.е. почему то при запуске выходит сообщение мол process terminate и ничего не показывется....что делать?

Автор: volvo 22.11.2006 21:36

Цитата
т.е. почему то при запуске выходит сообщение мол process terminate
То есть этого быть НЕ должно, и у меня этого не происходит. Какой такой PROCESS? Ты как это запускаешь? Компилятор какой?

Что, на форум телепатов пришел?


Эскизы прикрепленных изображений
Прикрепленное изображение