![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
![]()
Дана строка символов. Слова в строке разделены одним пробелом.
В заданном предложении указать слово, в котором доля гласных (А,Е,И,О) максимальна. помогите плиз напишите да или хоть подскажите уже весь день делаю не получается ![]() Последний раз редактировалось Alex21; 21.03.2008 в 07:41. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
А где код ? Хотя бы что-то ?
Что конкретно не получается ? |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
![]()
ну я нахожу количество слов
в первом слове только получается найти эти буквы а вот чтоб ко всему предложению незнаю .. |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
А зачем количество слов ?
В цикле проходим все символы строки. Находим очередной пробел. Все, что до предыдущего пробела - очередное слово. В этом слове проверяем количество гласных (можно делать это по ходу цикла). Если оно больше, чем в предыдущем слове, запоминаем это слово. Какое действие непонятно ? |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
![]()
у меня же не 2 слова всего там нужно ввести строку где скоко угодно может быть пробелов
напиши да блин не фига не получается ![]() Код:
Последний раз редактировалось Alex21; 16.03.2008 в 16:23. Причина: Чтобы дописать - используй кнопку Править |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
P := 1; // позиция за последним найденным пробелом
G := 0; // последнее количество найденных гласных W:= ''; // последнее найденное слово C:= 0; // текущее количество гласных В цикле проходим все символы строки. for i:=1 to length(S) do begin if S[i] in ['АЕИО'] then inc(C); Находим очередной пробел. if (S[i] = ' ') or (i = length(S)) then begin Все, что до предыдущего пробела - очередное слово. В этом слове проверяем количество гласных (можно делать это по ходу цикла). Если оно больше, чем в предыдущем слове, запоминаем это слово. if C > G then begin G := C; W := слово от позиции P до позиции i end; // Запоминаем позицию после пробела P := i+1; C := 0; // сбрасываем счетчик гласных |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
![]()
как программу напиши да
я не понял |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
![]()
спасибо, а че делает inc
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Ну, приплыли. А я распинаюсь.
Слово increment о чем нибудь говорит ? А F1 нажать сил нет ? |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
разбить строку | Ceprey | Общие вопросы C/C++ | 10 | 24.12.2009 20:47 |
Как проверить строку? | nikleb | PHP | 6 | 07.07.2008 22:04 |
Числа в строку | DeDoK | Общие вопросы Delphi | 8 | 07.06.2008 00:08 |
Как подставить строку в код? | Voyager-69 | Общие вопросы Delphi | 4 | 09.05.2008 00:08 |
Считать строку | XATAB | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 10.04.2008 21:18 |