|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.12.2006, 01:23 | #1 |
Пользователь
Регистрация: 17.12.2006
Сообщений: 22
|
Помогите пожалуйста со строками в паскале.
Дана строка, содержащая несколько слов. Выбрать. то слово, которое содержит наибольшее количество гласных букв.
От великого до смешного - один шаг.
|
24.12.2006, 09:26 | #2 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Хотел было поругаться, но не получилось... Есть подобная тема и в ней есть все необходимые тебе операторы и функциии.
Познавая других, мы познаем себя.
С'est la vie... |
25.12.2006, 21:58 | #3 |
Пользователь
Регистрация: 17.12.2006
Сообщений: 22
|
Спасибо все нашел, теперь думаю не составит труда написать программу.
От великого до смешного - один шаг.
|
08.01.2007, 01:30 | #4 |
Пользователь
Регистрация: 17.12.2006
Сообщений: 22
|
Все таки возникли проблемы? Нашел готовую программу, которая подсчитываети выводит число гласных букв во всех словах, а мне надо чтобы выводилось слово (с наибольшим количеством гласных), и их кол-во (этих гласных). Так вот эта прога, помогите пожалуйста исправить:
Program stroca; uses crt; var s:string; mas:array[1..100] of string; i,j,c,m1,m2:integer; test:string; function CountGlas (st:string):integer; var count:integer; begin count:=0; for i:=1 to length(st) do if (st[i]='а') or (st[i]='о') or (st[i]='и') or (st[i]='е') or (st[i]='ё') or (st[i]='ы') or (st[i]='э') or (st[i]='ю') or (st[i]='я') or (st[i]='й') then count:=count+1; CountGlas:=count; end; begin writeln ('Введите строку'); readln (s); c:=0; for j:=1 to length(s) do begin if (s[j] <> ' ') or (j=length(s)) then begin test:=test+s[j]; if j=length(s) then begin c:=c+1; mas[c]:=test; end; end else begin c:=c+1; mas[c]:=test; test:=' '; end; end; m1:=0; m2:=0; for j:=1 to c do begin m1:=countGlas(mas[j]); if m1>m2 then m2:=m1; end; writeln ('Число гласных',m2); readln; end.
От великого до смешного - один шаг.
|
08.01.2007, 11:38 | #5 |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Прогу пока не смотрел, но есть замечание: используй множество, забей туда все гласные, а потом проверяй (s[i] in GLAS) (чтоб не было этого: if (st[i]='а') or (st[i]='о') or (st[i]='и') or (st[i]='е') or
(st[i]='ё') or (st[i]='ы') or (st[i]='э') or (st[i]='ю') or (st[i]='я') or (st[i]='й')... ) |
09.01.2007, 01:07 | #6 |
Пользователь
Регистрация: 17.12.2006
Сообщений: 22
|
Ты прав, можно сделать немного проще и понятней.
От великого до смешного - один шаг.
|
14.01.2007, 01:26 | #7 |
Пользователь
Регистрация: 17.12.2006
Сообщений: 22
|
Всё программа работает! Всем спасибо.
Program stroca; uses crt; const st = ['а','е','ё','и','о','у','ы','э','ю' ,'я']; var s:string; mas:array[1..80] of string; i,j,c,m1,m2,k:integer; test:string; function CountGlas (st:string):integer; var count:integer; begin count:=0; for i:=1 to length(st) do count:=count+1; CountGlas:=count; end; begin clrscr; writeln ('Введите строку: '); readln (s); c:=0; for j:=1 to length(s) do begin if (s[j] <> ' ') or (j=length(s)) then begin test:=test+s[j]; if j=length(s) then begin c:=c+1; mas[c]:=test; end; end else begin c:=c+1; mas[c]:=test; test:=''; end; end; m1:=0; m2:=0; for j:=1 to c do begin m1:=countGlas(mas[j]); if m1>m2 then begin m2:=m1;k:=j; end; end; writeln ('Максимальное число гласных - ',m2); writeln ('в слове -', mas[k]); readln; end.
От великого до смешного - один шаг.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите!!!Пожалуйста!!С программкой в Паскале... | Yulichkaa | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 16.03.2008 03:06 |
Помогите пожалуйста решить задачу в Паскале | Alfons | Помощь студентам | 1 | 19.02.2008 21:07 |
ПОМОГИТЕ ПОЖАЛУЙСТА SOS! ПРОЦЕДУРЫ В ПАСКАЛЕ! | Jondeer | Помощь студентам | 0 | 04.12.2007 18:51 |
Помогите со строками в паскале | kiki14 | Помощь студентам | 2 | 16.05.2007 17:46 |