IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Составьте программу вычисления суммы номеров мест, на которых в слове S стоят гласные буквы., Составьте программу вычисления суммы номеров мест, на которых в слове
marwell
сообщение 27.03.2010 19:39
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 198
Пол: Мужской

Репутация: -  1  +


Составьте программу вычисления суммы номеров мест, на которых в слове S стоят гласные буквы. Есть кое-какие мысли, вот
 function Rus(mes: string):string;
var i: integer;
begin
for i:=1 to length(mes) do
case mes [i] of
'А'..'п': mes[i]:=chr(Ord (mes [i])-64);
'р'..'я': mes[i]:=chr(ord (mes[i])-16);
end;
rus:=mes;
end;

var s:string;
i,summa:integer;
begin
write (rus('введите текст - '));
readln (s);
summa:=0;
for i:=1 to length (s) do
case s[i] of
'а': summa:=summa+1;
'е': summa:=summa+1;
'и': summa:=summa+1;
'о': summa:=summa+1;
'у': summa:=summa+1;
'ы': summa:=summa+1;
'ю': summa:=summa+1;
'э': summa:=summa+1;
'я': summa:=summa+1;
end;
writeln (rus('текст-" '),s,' "');
writeln (rus('сумма номеров='),summa);
readln;
end.
Но программа выдает 0. Помогите разобраться

Добавлено через 5 мин.
ой, только сейчас понял, что я написал blink.gif case вместе с for-ом blink.gif вот дурак

Сообщение отредактировано: marwell - 27.03.2010 19:41
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
marwell
сообщение 28.03.2010 11:38
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 198
Пол: Мужской

Репутация: -  1  +


не понимаю, в чем проблема, но программа все равно не хочет считать сумму номеров

function Rus(mes: string):string;
var i: integer;
begin
for i:=1 to length(mes) do
case mes [i] of
'А'..'п': mes[i]:=chr(Ord (mes [i])-64);
'р'..'я': mes[i]:=chr(ord (mes[i])-16);
end;
rus:=mes;
end;
var s:string;
i,summa:integer;
begin
write (rus('введите текст - '));
readln (s);
summa:=0;
for i:=1 to Length(s) do
if s[i] in ['А','Е','И','О','У','Ы','Ю','Э','Я','а','е','и','о','у','ы','ю','э','я'] then
summa:=summa+i;
writeln (rus('текст-" '),s,' "');
writeln (rus('сумма номеров='),summa);
readln;
end.
Выводит 0
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 10:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"