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

Цитата:
Сообщение от Бракс Посмотреть сообщение
Vladimir_S: Спасибо большое за предыдущую подсказку у меня получилось!!!
Помоги пожалуйста решить с файлами еще, воопще файлы плохо знаю(((
1)Дан файл, содержащий текст, и некоторые буквы. Найти слово, содержащее наибольшее количество указанных букв.
За ранее очень очень благодарен!!!
Вот как-то так:

CONST
Let:ARRAY[1..4] of CHAR= ('а', 'е', 'и', 'ф');
VAR
f,f1,f2:TEXT;
S,Rich_Word:STRING;
i,j,k:INTEGER;
L_Num:WORD;
Ch:Char;
BEGIN
Assign(f,'D:\Txt');
ReSet(f);
Assign(f1,'D:\TTT');
ReWrite(f1);
Assign(f2,'D:\TXX');
ReWrite(f2);
REPEAT
Read(f,Ch);
IF (Ch=' ') OR (Ch='.') OR (Ch=',') OR (Ch='!') OR (Ch='?')
OR (Ch=':') OR (Ch=';') OR (Ch='(') OR (Ch=')') OR (Ch='-')
THEN Writeln(f1) ELSE Write(f1,Ch);
UNTIL EoF(f);
Close(f);
Close(f1);
ReSet(f1);
REPEAT
Readln(f1,S);
IF S<>'' THEN WriteLn(f2,S);
UNTIL EoF(f1);
Close(f1);
Close(f2);
ReSet(f2);
L_Num:=0;
REPEAT
Readln(f2,S);
k:=0;
FOR i:=1 TO Length(S) DO
FOR j:=1 TO 4 DO
IF S[i]=Let[j] THEN INC(k);
IF k>L_Num THEN
BEGIN
L_Num:=k;
Rich_Word:=S;
END;
UNTIL EoF(f2);
Close(f2);
Erase(f1);
Erase(f2);
Writeln('The word "',Rich_Word,'" contains ',L_Num,' letters on payroll');
Readln;
END.
Vladimir_S вне форума  
Ads

Яндекс

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