![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 03.12.2008
Сообщений: 2
|
![]()
нужно изменить и упростить код задачи. Множества но нужно решать с помощью типизированных или текстовых файлов.
Условие: Дан файл слов из строчных русских букв, между соседними словами запятая. Напечатать в алфавитном порядке все звонкие согласные буквы, которые входят более чем в одно слово. Код задачи program Project2; {$APPTYPE CONSOLE} uses SysUtils; type CharSet = set of char; const Letters: CharSet=['б','в','г','д','ж','з','л','м','н' ,'р']; var all_l:Charset; chet:boolean; s:string; ch:char; fp,fp1:TextFile; function AnToAs(s: String) : String; {Функция преобразования символов из Win-кодировки в Dos-кодировку} Var i,kod : Integer; begin SetLength(result,Length(s)); Result:=s; for i:=1 to length(s) do begin kod:=Ord(s[i]); if ( kod>=224) and ( kod<=239) then Result[i]:=Chr(kod-64); if ( kod>=240) and ( kod<=255) then Result[i]:=Chr(kod-16); end; end; procedure vyvod(s:CharSet); {Процедура вывода множества на экран} const c:string = 'бвгджзлмнр'; var i:integer; begin for i:=1 to length(c) do begin if c[i] in s then write(AnToAs(c[i]),' '); end; writeln; end; procedure ChetNechet; {Процедура, выделяющая в алфавитном порядке все звонкие согласные буквы, которые входят в каждое нечетное слово и не входят хотя бы в одно четное слово} begin if chet=true then begin vyvod(Letters-all_l); chet:=false; end else begin vyvod(Letters*all_l);; chet:=true; end; end; procedure Reshenie; {Процедура основного решения задачи} begin chet:=false; all_l:=[]; while not eof(fp) do begin read(fp,ch); if ch in Letters then all_l:=all_l+[ch] else if ch = ',' then begin ChetNechet; all_l:=[]; end; end; ChetNechet; end; begin AssignFile(fp,'file.txt'); Reset(fp); Reshenie; CloseFile(fp); readln; end. |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 03.12.2008
Сообщений: 2
|
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! | VisTBacK | Помощь студентам | 6 | 19.09.2008 13:44 |
Помогите, пожалуйста! | Wander | Помощь студентам | 1 | 22.05.2007 22:20 |