Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчёт гласных букв 
:(
    Опции темы
Аликс
Дата 5.6.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Дан текст, в котром записано одно из стихотворений А.С.Пушкина. Сколько раз встречаются гласные буквы.


Мне нужно в разделе описаний указать русские буквы, и при компиляции происходит ошибка, ну в общем посмотрите код:

Код
program stroka;
uses crt;
var
   text,text1:string;
   а,я,о,ё,и,ы,у,ю,е,э : char;
   s,dl:intefer
begin
     clrscr;
     writeln(' Богами вам ещё даны
               Златые дни, златые ночи,
               И томных дев устремлены
               На вас внимательные очи.')
     readln(text);
     dl:=length(text);
     а:=0;
     я:=0;
     о:=0;
     ё:=0;
     и:=0;
     ы:=0;
     ю:=0;
     у:=0;
     э:=0;
     е:=0;

text1:=text;
n:=pos(aa,text);
1:if n>0 then
begin
cha:=cha+1;
Delete(text1,1,n);
dl:=length(text1);
if dl>0 then
begin
n:=pos(aa,text1);
goto 1;
end
end;

text1:=text;
n:=pos(оо,text1);
2:if n>0 then
begin
chb:=chb+1;
Delete(text1,1,n);
dl:=length(text1);
if dl>0 then
begin
n:=pos(оо,text1);
goto 2;
end
end;

text1:=text;
n:=pos(яя,text1);
3:if n>0 then
begin
chv:=chv+1;
Delete(text1,1,n);
dl:=length(text1);
if dl>0 then
begin
n:=pos(яя,text1);
goto 3;
end
end;

end.
 

Это сообщение отредактировал(а) volvo877 - 5.6.2006, 19:14
PM MAIL   Вверх
skyboy
Дата 5.6.2006, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



С каких пор Паскаль поддерживает не латиноназванные переменные? 
PM MAIL   Вверх
UpL1nK
Дата 6.6.2006, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 3.12.2005
Где: Тюмень

Репутация: нет
Всего: нет



А что такое intefer ? )
Код

s,dl:intefer
 

Лучше создай множество из гласных букв , потом пройди по всей строке и проверяй на = символов, увеличивая какую нить переменную если true  

Это сообщение отредактировал(а) UpL1nK - 6.6.2006, 09:48
--------------------
Макс
PM MAIL ICQ   Вверх
skyboy
Дата 6.6.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Код

const glasnie=['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];
var 
    s:string;
    i,count:integer;
begin
writeln('Введите наконец это чудесное творение...');
readln(s);
count:= 0;
for i:=1 to length(s) do
 if s[i] in glasnie
  then count:= count + 1;
writeln('В этом творении ',count,' гласных букв!');
readln;
end.
 
PM MAIL   Вверх
Аликс
Дата 8.6.2006, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Вы хоть программу проверяли, она не работает. 
PM MAIL   Вверх
skyboy
Дата 8.6.2006, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Всё работает  smile А ничего, что в браузере у тебя кодировка Win1251 или UTF-8, а в Паскале работа в кодировке ASCII? Ты просто скопировал-вставил или как? Я только что запустил - всё работает. Только руками в Паскале набил, а не копировал. 
PM MAIL   Вверх
Аликс
Дата 9.6.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 5.5.2006

Репутация: нет
Всего: нет



Как работает, если там всегда выводится сообщение "В том творении 0 гласных букв". И я вставлял и пробовал набирать, всё равно не пашет 
PM MAIL   Вверх
profispb
Дата 10.6.2006, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.12.2005
Где: Санкт - Петербург

Репутация: нет
Всего: 1



skyboy,  Ты ошибку допустил.
Цитата

Код

const glasnie=['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];    
var  
    s:string;    
    i,count:integer;    
begin    
writeln('Введите наконец это чудесное творение...');    
readln(s);    
count:= 0;    
for i:=1 to length(s) do    
 if s[i] in glasnie    
  then count:= count + 1;    
writeln('В этом творении ',count,' гласных букв!');    
readln;    
end.


После фора надо ставить begin поскольну вложена конструкция, после строки 11 надо поставить end; 
Аликс, и все должно работать. 
--------------------
В жизни, я люблю делать, то что я люблю. А не то что модно, престижно и выгодноЛюблю когда начинает работать, то что без меня не работало!
PM MAIL ICQ   Вверх
volvo877
Дата 10.6.2006, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(profispb @  10.6.2006,  09:42 Найти цитируемый пост)
После фора надо ставить begin поскольну вложена конструкция

Какая "конструкция", можно поинтересоваться? Сколько операторов в ней, уточни если не трудно? А потом - ходи сюда:

Руководство по языку B.Pascal 7 & Objects/LR -> Операторы цикла с параметром (for)

и внимательно прочти, что там написано... 
PM MAIL   Вверх
profispb
Дата 10.6.2006, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 27.12.2005
Где: Санкт - Петербург

Репутация: нет
Всего: 1



volvo877, Показываю код, который поправлен и не надо меня посылать смотреть учебник, я таких руководств прочел больше 50.
Код

const glasnie=['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];     
var    
    s:string;     
    i,count:integer;     
begin     
writeln('Введите наконец это чудесное творение...');     
readln(s);     
count:= 0;     
for i:=1 to length(s) do 
begin    
 if s[i] in glasnie then 
 count:= count + 1;
end;     
writeln('В этом творении ',count,' гласных букв!');     
readln;     
end.

А конструкция про которую, я говорил это IF т.е. условная конструкция. 
--------------------
В жизни, я люблю делать, то что я люблю. А не то что модно, престижно и выгодноЛюблю когда начинает работать, то что без меня не работало!
PM MAIL ICQ   Вверх
Zero
Дата 10.6.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(profispb @  10.6.2006,  20:04 Найти цитируемый пост)
А конструкция про которую, я говорил это IF т.е. условная конструкция. 

Кхе...Кхе. profispb, т.к. в этом форе выполняется только один оператор, поэтому бегин и енд не обязательны.

Это тоже самое что сказать:
выражение: 7*8 -- с ошибкой т.к. пропущена скобка, типа надо так: 7*(8)

PS: прочитай в учебнике по паскалю понятия об операторных скобках и т.п.
Цитата(profispb @  10.6.2006,  20:04 Найти цитируемый пост)
я таких руководств прочел больше 50

 smile Их можно и 100 прочитать, а пока не вдумаешся что читаешь не поймёш... smile  
PM MAIL ICQ   Вверх
skyboy
Дата 10.6.2006, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Так почему программа у меня работает, а у абонента - нет? Выяснили? smile 
PM MAIL   Вверх
Zero
Дата 10.6.2006, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(skyboy @  10.6.2006,  20:54 Найти цитируемый пост)
Так почему программа у меня работает, а у абонента - нет?

Она внешне у вас работает, абсолютно одинаково, не считая того что у тебя чуть дольше...
Цитата(skyboy @  10.6.2006,  20:54 Найти цитируемый пост)
Выяснили?

Конечно, Аликс, набирает неправильно... smile 
Нужно набирать только русские гласные буквы, указанные в строке
Код

const glasnie=['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Ы','ы','Э','э','Ю','ю','Я','я'];

А он скорее всего английские которые тут не указаны... smile

Добавлено @ 20:15 
Всмысле не только глассные, но для подсчёта количества, эти должны входить. 
PM MAIL ICQ   Вверх
svarogik
Дата 10.6.2006, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



возьми английзкую фразу и там подсчитай, я те так скажу, русские буквы в английзком языке очень зыбкая и нестандартная почва, зависит от того где какие модули стоят, у меня например паскаль вообще кириллицу не включает, так я ниче на транслите все пишу, 
PM MAIL   Вверх
Zero
Дата 10.6.2006, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



У кого нет нормального паскаля заходите СЮДА, и берите что нужно... 
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1168 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.