|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.03.2008, 12:10 | #1 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
Дана строка символов. Слова в строке разделены одним пробелом.
В заданном предложении указать слово, в котором доля гласных (А,Е,И,О) максимальна. помогите плиз напишите да или хоть подскажите уже весь день делаю не получается Последний раз редактировалось Alex21; 21.03.2008 в 07:41. |
16.03.2008, 14:52 | #2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
А где код ? Хотя бы что-то ?
Что конкретно не получается ? |
16.03.2008, 15:11 | #3 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
ну я нахожу количество слов
в первом слове только получается найти эти буквы а вот чтоб ко всему предложению незнаю .. |
16.03.2008, 15:21 | #4 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
А зачем количество слов ?
В цикле проходим все символы строки. Находим очередной пробел. Все, что до предыдущего пробела - очередное слово. В этом слове проверяем количество гласных (можно делать это по ходу цикла). Если оно больше, чем в предыдущем слове, запоминаем это слово. Какое действие непонятно ? |
16.03.2008, 15:50 | #5 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
у меня же не 2 слова всего там нужно ввести строку где скоко угодно может быть пробелов
напиши да блин не фига не получается Код:
Последний раз редактировалось Alex21; 16.03.2008 в 16:23. Причина: Чтобы дописать - используй кнопку Править |
16.03.2008, 16:00 | #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; // сбрасываем счетчик гласных |
16.03.2008, 16:17 | #7 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
как программу напиши да
я не понял |
16.03.2008, 16:24 | #8 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Код:
|
16.03.2008, 16:33 | #9 |
Пользователь
Регистрация: 16.03.2008
Сообщений: 26
|
спасибо, а че делает inc
|
16.03.2008, 16:39 | #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 |