Осознанные сновидения — состояние сознания, при котором человек осознает,что видит сон и может в той или иной степени управлять им. Они являются предметом научных исследований, их существование научно подтверждено. Высоким уровнем владения техники осознанных сновидений является умение засыпать во сне.
Андрюша очень увлекся осознанными сновидениями и через месяцы упорных тренировок научился мастерски управлять своим сном. Теперь он тренируется многократно засыпать во сне. Но во время одной из таких тренировок что-то пошло не так Андрюша не запомнил, сколько раз он засыпал, и теперь после каждой попытки проснуться он постоянно просыпается возле загадочной каменной плиты с непонятным текстом. Но наш герой не отчаивается Он убежден, что если ему удастся посчитать количество согласных и гласных букв в тексте, а так же количество цифр и пробелов, то он обязательно проснется. Вот только беда — во сне никак не получается сосредоточиться. Вас, как опытного программиста, просят написать программу, которая вернет Андрюшу в реальный мир.
Формат входных данных:
Задан обычный текстовый файл, размер которого не превосходит 100 КБ.
Формат выходных данных:
В выходной файл выведите 4 числа: количество английских гласных, английских согласных, цифр и пробелов в тексте соответственно. В английском алфавите гласными считаются буквы: e, y, u, i, o, a.
Другие языки программирования и технологии
помогите написать програму в Паскале по задаче
тут за сегодня эта задача много раз уже мелькала... нет мозгов - не суйтесь на олимпиаду
Читаем по очереди все строки, считаем, выводим.
Могу сделать, пиши в личку
Могу сделать, пиши в личку
Вам как "опытному программисту" должно быть стыдно с такой задачей просить шары.
ой-ой-ой!
какие задачи, какие условия!!!
текстовый... текстовый....наф нам текстовый? будем работать напрямую! :)
***** но, сразу предупреждаю: пишу "на живо", без компилятора под рукой - проверять мелкие огрехи сами будете!
const
ZnachType : array [0..255] of char =
'00000000000000000000000000000000' + {0-31 спец-символы}
'1' + {space-пробел}
'000000000000000' + {33-47}
'2222222222' + {0..9 цифры}
'0000000' + {58-64}
'43334333433333433333433343' + {A-Z, гласные - 4, согласные - 3}
'000000' + {91-96}
'43334333433333433333433343' + {a-z}
'00000'+ {123-127}
'0000000000000000' + {это вторая половина таблицы с псевдографикой и русскими - нам не нужная}
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' ; {всего 256 символов - вся таблица ASCII}
Var
Fin : File;
NumRead : Word;
Buf : Array[1..2048] of byte;
ii : integer;
Sum_ : array [0..4] of integer ;
begin
for ii:=0 to 4 do Sum_ [ ii ] :=0 ;
Assign (Fin, Paramstr(1));
Reset (Fin,1);
Repeat
BlockRead (Fin,buf,Sizeof(buf),NumRead);
for ii:=1 to NumRead do inc(Sum_[ Ord(ZnachType[buf [ ii ]) - 48 ] ) ;
Until (NumRead=0);
close(fin);
WriteLn('Кол-во пробелов =', Sum_[1]) ;
WriteLn('Кол-во цифр =', Sum_[2]) ;
WriteLn('Кол-во согласных =', Sum_[3]) ;
WriteLn('Кол-во гласных =', Sum_[4]) ;
{в Sum_[0] находится кол-во всех остальных символов}
end.
вот таким образом извратился :)
какие задачи, какие условия!!!
текстовый... текстовый....наф нам текстовый? будем работать напрямую! :)
***** но, сразу предупреждаю: пишу "на живо", без компилятора под рукой - проверять мелкие огрехи сами будете!
const
ZnachType : array [0..255] of char =
'00000000000000000000000000000000' + {0-31 спец-символы}
'1' + {space-пробел}
'000000000000000' + {33-47}
'2222222222' + {0..9 цифры}
'0000000' + {58-64}
'43334333433333433333433343' + {A-Z, гласные - 4, согласные - 3}
'000000' + {91-96}
'43334333433333433333433343' + {a-z}
'00000'+ {123-127}
'0000000000000000' + {это вторая половина таблицы с псевдографикой и русскими - нам не нужная}
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' +
'0000000000000000' ; {всего 256 символов - вся таблица ASCII}
Var
Fin : File;
NumRead : Word;
Buf : Array[1..2048] of byte;
ii : integer;
Sum_ : array [0..4] of integer ;
begin
for ii:=0 to 4 do Sum_ [ ii ] :=0 ;
Assign (Fin, Paramstr(1));
Reset (Fin,1);
Repeat
BlockRead (Fin,buf,Sizeof(buf),NumRead);
for ii:=1 to NumRead do inc(Sum_[ Ord(ZnachType[buf [ ii ]) - 48 ] ) ;
Until (NumRead=0);
close(fin);
WriteLn('Кол-во пробелов =', Sum_[1]) ;
WriteLn('Кол-во цифр =', Sum_[2]) ;
WriteLn('Кол-во согласных =', Sum_[3]) ;
WriteLn('Кол-во гласных =', Sum_[4]) ;
{в Sum_[0] находится кол-во всех остальных символов}
end.
вот таким образом извратился :)
Похожие вопросы
- помогите написать програму в паскале. Задано натуральное число х. вывести все двознначные числа ,сума которых меньше х.
- Помогите пожалуйста написать програмы в Паскале кто что может(решаетса зачот) я просто не успеваю
- Написать програму в Паскале
- помогите склась програму в паскале:переписать в массив Y[4x4] елементы масива X[4x4] в порядку возростання.
- Помогите написать прогу на паскале
- Помогите написать программку в Паскале...
- СРОЧНО ПОМОГИТЕ!!! Напишите прогу на паскале
- Помогите написать прогу на паскале!
- помогите написать программу на паскале!!! если можно напишите в комментах что где делаете!!!
- Помогите написать программу на паскале