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

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

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

Автор: ATT 4.05.2008 4:31

Компоненты массива символы русского алфавита ... напечатать наибольшую последовательность состоящую из из согласных!


Кто то сказал что можно как то из этого переделать!

program soglas; 
uses crt;
var
Z:array[1..120] of char;
i:integer;
d:boolean ;
gl:set of char;
sog:set of char;
begin
clrscr;
gl:=['©','г','Ґ','л',' ','®','п','Ё','о','н','‰','“','…','›','Ђ','Ћ','ћ','ќ','?','Ћ','ќ','џ'];
sog:=['ж','Є','','Ј','и','й','§','е','д','ў','Ї','а','«','¤','¦','з','б','¬','в','Ў','–','Љ','Ќ','ѓ','˜','™','‡','•','”','Џ',
'ђ','‹','„','†','—','‘','Њ','’','Ѓ','‚'];
For i:=1 to 10 do
begin
write('‚ўҐ¤ЁвҐ ЎгЄўг > ');
readln(Z[i]);
end;
For i:=1 to 10 do
begin
if Z[i] in sog then
begin write(Z[i]);
d:=true;
end else if d<>true then d:=false;
end;
if not(d) then writeln('ЌҐв б®Ј« бле ЎгЄў');
readln;
end.


Автор: compiler 4.05.2008 17:53

Цитата(ATT @ 4.05.2008 0:31) *
Кто то сказал что можно как то из этого переделать!
а он тебе не скзал какая там кодировка?)
но в принципе программа дельная...
алгоритм выглядит как-то так
Код
заводишь две переменные счётчика и переменную максимума, одномерный массив(строка)
читаешь строку
обновляешь максимум
проходишь от начала строки до конца и для каждой буквы(порядок буквы текущие значения счетчика)
      если буква гласная то добавить к счетчику1 еденицу
            в противном случае
                  если счетчик1 > максимума записать в максимум счетчик1
      обнулить счетчик1
вернуть значения максимума

если что будет не получаться, задавай _конкретные_ вопросы