Показать сообщение отдельно
Старый 18.02.2009, 16:14   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Dram Посмотреть сообщение
Привет всем форумчанам! вот хотел сделать прогу в паскале. И понял что я в паскале практически 0 . так вот надо чтобы при вводе слова(или ссылки) прога сканила два файла типа .txt и после выдовала, если есть ссылка в первом тексте то прога говорила верно, а если во втором то не верно.
То есть если я правильно понял, ссылка или слово ОБЯЗАНЫ быть или в первом, или во втором файле? И если в первом, то TRUE, а во втором, то FALSE?
Попробую. Как-то так:

VAR
S:STRING;
S_L, p1, p2, i:INTEGER;
f1, f2, f3:TEXT;
Ch:Char;
BEGIN
Assign(f1, 'C:\File_1.txt');
Reset(f1);
Assign(f2, 'C:\File_2.txt');
Reset(f2);
WriteLn('Enter search string:');
ReadLn(S);
S_L:=Length(S);
p1:=0;
REPEAT
Read(f1,Ch);
IF (Ch=S[1]) AND (NOT EoF(f1)) THEN
BEGIN
i:=1;
p1:=1;
REPEAT
INC(i);
Read(f1,Ch);
IF (NOT EoF(f1)) THEN
IF S[i]<>Ch THEN p1:=0;
UNTIL (i=S_L) OR (EoF(f1)) OR(p1=0);
END;
UNTIL (p1=1) OR (EoF(f1));
IF p1=1 THEN WriteLn('TRUE');
p2:=0;
REPEAT
Read(f2,Ch);
IF (Ch=S[1]) AND (NOT EoF(f2)) THEN
BEGIN
i:=1;
p2:=1;
REPEAT
INC(i);
Read(f2,Ch);
IF (NOT EoF(f2)) THEN
IF S[i]<>Ch THEN p2:=0;
UNTIL (i=S_L) OR (EoF(f2)) OR(p2=0);
END;
UNTIL (p2=1) OR (EoF(f2));
IF p2=1 THEN WriteLn('FALSE');
IF (p1=0) AND (p2=0) THEN
BEGIN
WriteLn('No string found');
Assign(f3, 'C:\File_3.txt');
ReWrite(f3);
Writeln(f3, S);
Close(f3);
END;
Close(f1);
Close(f2);
ReadLn;
END.

Как-то так. Попробуйте. Естественно, имена файлов и пути прописывайте как Вам надо.

Последний раз редактировалось Vladimir_S; 18.02.2009 в 16:18 Причина: Довесок задания
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070