Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23

Найти все слова, содержащие наибольшее количество гласных латинских букв (a, e, i, o, u).

03.11.2011, 17:56. Показов 5088. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Найти все слова, содержащие наибольшее количество гласных латинских букв (a, e, i, o, u).

Горю, помогите!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2011, 17:56
Ответы с готовыми решениями:

Найти все слова в которых чётное количество гласных букв
Условие: Необходимо найти все слова в которых чётное количество гласных букв. Словом считать один и более символов латинского алфавита ...

Найти все слова,содержащие наибольшее кол-во гласных латинских букв
Дан текст.Группа символов,разделенные пробелом. Найти все слова,содержащие наибольшее кол-во гласных латинских букв (а,e,u,i,o).

Найти все слова, содержащие наибольшее количество гласных латинских букв
Помогите пожалуйста. последняя задача осталась. Не могу сообразить как правильно написать. Дан текстовый файл f, каждая строка...

17
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
04.11.2011, 21:46  [ТС]
Найти все слова, содержащие наибольшее количество гласных латинских букв (a, e, i, o, u).

Часть задачи, как это сделать?

например:

пусть дан текст
t="asdy aso etiur ojhksaa oke"

запишем теперь как массив

t1[1]="asdy"
t1[2]="aso"
t1[3]="etiur"
t1[4]="ojhksaa"
t1[5]="oke"

после выбираем максимальные число входящих букв и выдаем на экран слова содержащие это максимальное число входящих букв
Как записать строку в массив строк?????!!!!!!
0
 Аватар для galaid
289 / 34 / 6
Регистрация: 20.09.2011
Сообщений: 464
04.11.2011, 22:45
Цитата Сообщение от Sihar Посмотреть сообщение
Как записать строку в массив строк?????!!!!!!
Допустим a - строковый массив, который объявляется так:
Pascal
1
var a:array[1..100] of string;
Тогда записать в него можно так:
Pascal
1
a[i]:='строка';
или так
Pascal
1
a[i]:=t1[1];
0
 Аватар для juvmax
29 / 29 / 23
Регистрация: 04.11.2011
Сообщений: 65
04.11.2011, 23:19
Вы условие точно правильно написали???
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
04.11.2011, 23:27
По моему так...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
var a: array [1..10] of string;
    s, sl: string;
    i, j, k, kg, kgmax: integer;
begin
     write ('s='); readln (s); s:=s+' ';
     sl:='';
     j:=1;
     for i:=1 to length (s) do
         if s[i]<>' ' then
                      begin
                      sl:=sl+s[i];
                      if s[i] in ['a','e','u','i','o'] then
                      inc(kg);
                      end
            else
                begin
                     a[j]:=sl;
                     inc(j);
                     sl:='';
                     inc(k);
                     if kg>kgmax then
                        begin
                        kgmax:=kg;
                        kg:=0;
                        end
                     else kg:=0;
                end;
writeln ('Максимальное количество гласных =', kgmax);
        if kgmax>0 then
        begin
             writeln ('содержат следующие слова');
                     for j:=1 to k do
                         begin
                              kg:=0;
                              sl:=a[j];
                              for i:=1 to length(sl) do
                              if sl[i] in ['a','e','u','i','o'] then
                              inc(kg);
                              if kg=kgmax then writeln(a[j]);
                         end;
        end;
end.
1
 Аватар для Small Lamer
143 / 143 / 141
Регистрация: 05.04.2011
Сообщений: 270
04.11.2011, 23:31
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses math;
var
    a:array[1..1000] of string;
    d:array[1..1000] of longint;
    s,ss:string;
    i,k,m,t,j:longint;
begin
 
    readln(s);
    s:=s+' ';
 
    for i:=1 to length(s) do begin
    
        if s[i] in [',','.','!','?',' '] then begin
        
            k:=k+1;
            a[k]:=ss;
            ss:='';
        
        end
        else
        ss:=ss+s[i];
    
    end;
 
    for i:=1 to k do begin
    
        t:=0;
        for j:=1 to length(a[i]) do 
            if a[i][j] in ['a', 'e','i', 'o', 'u'] then t:=t+1;
        d[i]:=t;
        m:=max(m,d[i]);  
    end;
 
    for i:=1 to k do 
        if d[i]=m then writeln(a[i]);
 
end.
0
 Аватар для juvmax
29 / 29 / 23
Регистрация: 04.11.2011
Сообщений: 65
05.11.2011, 00:29
Цитата Сообщение от Small Lamer Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses math;
var
    a:array[1..1000] of string;
    d:array[1..1000] of longint;
    s,ss:string;
    i,k,m,t,j:longint;
begin
 
    readln(s);
    s:=s+' ';
 
    for i:=1 to length(s) do begin
    
        if s[i] in [',','.','!','?',' '] then begin
        
            k:=k+1;
            a[k]:=ss;
            ss:='';
        
        end
        else
        ss:=ss+s[i];
    
    end;
 
    for i:=1 to k do begin
    
        t:=0;
        for j:=1 to length(a[i]) do 
            if a[i][j] in ['a', 'e','i', 'o', 'u'] then t:=t+1;
        d[i]:=t;
        m:=max(m,d[i]);  
    end;
 
    for i:=1 to k do 
        if d[i]=m then writeln(a[i]);
 
end.
Но ведь ваша программа выводит, слово с максимальным количеством гласных, а по условию слова!
НЕ ошибка ли в условии???

Извиняюсь, сам дуренЬ, не так понял код! Прошу простить!
0
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
05.11.2011, 00:40  [ТС]
О_О ох, спасибо огромное!!!!!
0
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
05.11.2011, 00:43  [ТС]
да условие таково, что дан текст, ой даже щя скопирну с книги
Условие задачи :

Дан текст. Группы слов, разделены пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть, как и прежде словами. Найти все слова, содержащие наибольшее количество гласных латинских букв (a, e, i, o, u).


это всё что мне было дано!(((
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
05.11.2011, 00:45
О, тогда мой код неполноценен (
0
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
05.11.2011, 00:47  [ТС]
Цитата Сообщение от КонецСвета Посмотреть сообщение
По моему так...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
var a: array [1..10] of string;
    s, sl: string;
    i, j, k, kg, kgmax: integer;
begin
     write ('s='); readln (s); s:=s+' ';
     sl:='';
     j:=1;
     for i:=1 to length (s) do
         if s[i]<>' ' then
                      begin
                      sl:=sl+s[i];
                      if s[i] in ['a','e','u','i','o'] then
                      inc(kg);
                      end
            else
                begin
                     a[j]:=sl;
                     inc(j);
                     sl:='';
                     inc(k);
                     if kg>kgmax then
                        begin
                        kgmax:=kg;
                        kg:=0;
                        end
                     else kg:=0;
                end;
writeln ('Максимальное количество гласных =', kgmax);
        if kgmax>0 then
        begin
             writeln ('содержат следующие слова');
                     for j:=1 to k do
                         begin
                              kg:=0;
                              sl:=a[j];
                              for i:=1 to length(sl) do
                              if sl[i] in ['a','e','u','i','o'] then
                              inc(kg);
                              if kg=kgmax then writeln(a[j]);
                         end;
        end;
end.

Огромное спасибо, пашет, и главное так просто, а у меня так ваще огромная , длинная, да и в дебри заплутала вместе с преподом((( ОГРОМНОЕ спасибо!!!
0
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
05.11.2011, 00:48  [ТС]
Цитата Сообщение от КонецСвета Посмотреть сообщение
О, тогда мой код неполноценен (
чего так? О_О чёт провронила?
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
05.11.2011, 00:50
Осталась без внимания возможность того, что слова могут разделяться не одним пробелом, а несколькими. Сейчас перепробью!
1
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
05.11.2011, 00:52  [ТС]
Цитата Сообщение от Small Lamer Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
uses math;
var
    a:array[1..1000] of string;
    d:array[1..1000] of longint;
    s,ss:string;
    i,k,m,t,j:longint;
begin
 
    readln(s);
    s:=s+' ';
 
    for i:=1 to length(s) do begin
    
        if s[i] in [',','.','!','?',' '] then begin
        
            k:=k+1;
            a[k]:=ss;
            ss:='';
        
        end
        else
        ss:=ss+s[i];
    
    end;
 
    for i:=1 to k do begin
    
        t:=0;
        for j:=1 to length(a[i]) do 
            if a[i][j] in ['a', 'e','i', 'o', 'u'] then t:=t+1;
        d[i]:=t;
        m:=max(m,d[i]);  
    end;
 
    for i:=1 to k do 
        if d[i]=m then writeln(a[i]);
 
end.

как исправить ошибку "модуль math не найден"? может конечно и глупый вопрос, но с паскалем виделась только 3и года назад(

Добавлено через 2 минуты
КонецСвета, буду весьма благодарна, хотя мона и схитрить, просто в задаче перед её реализацией выдать на экран требование, чтоб пробелы не были двойными)))), канечно это ужене та задача, но всё же))
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
05.11.2011, 00:54
Цитата Сообщение от КонецСвета Посмотреть сообщение
Осталась без внимания возможность того, что слова могут разделяться не одним пробелом, а несколькими. Сейчас перепробью!
А, нет, таки работает, зараза.

Добавлено через 58 секунд
И с двумя, и с тремя пробелами - работает!
1
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
05.11.2011, 01:19  [ТС]
огромное спасибо!))) Очень вырули, месяц маилась с ней((((

Добавлено через 18 минут
КонецСвета, прошу простить за наглость, но не могли бы вы оставить рядом с операцией коментарий? мне для школьников коментарий нужен, я примерно понимаю, что и как но путаюсь и не доконца осознаю действия связаные с примерно вот этим inc(kg); и inc(k);

Не могли бы вы для достоверности прокоментирывать прогу рядом с операцией)?
0
Почетный модератор
 Аватар для КонецСвета
7966 / 3937 / 2464
Регистрация: 30.10.2011
Сообщений: 5,377
05.11.2011, 01:50
Исполняю

Добавлено через 13 минут
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
uses crt;
var a: array [1..10] of string;       // массив, каждый элемент будет словом
    s, sl: string;                    // исходная строка и строка для работы с отдельным словом
    i, j, k, kg, kgmax: integer;      //переменные-счетчики для строки, массива, для подсчета количества слов, гласных в слове, максимального количества гласных в слове
begin
     write ('s='); readln (s); s:=s+' ';    // считываю строку в память и добавляю в конце пробел, чтобы не загружать код для выделения последнего слова
     sl:='';                                // задаю начальное значение переменных - для слова - 0 символов, для счетчика массива слов - 1
     j:=1;
     for i:=1 to length (s) do              // задаю цикл для перебора всех символов строки
         if s[i]<>' ' then                  // если символ строки не является пробелом, то
                      begin
                      sl:=sl+s[i];                         //добавляю этот символ в слово
                      if s[i] in ['a','e','u','i','o'] then        // если символ - это гласная, то
                      inc(kg);                                         // увеличиваю значение количества гласных на 1
                      end
            else                                             // иначе
                begin
                     a[j]:=sl;                               //в элемент массива под номером j помещаю получившееся слово
                     inc(j);                                 // увеличиваю индекс элемента массива на 1
                     sl:='';                                 // очищаю значение переменной слова
                     inc(k);                                 // увеличиваю значение количества слов на 1
                     if kg>kgmax then                        // если количество гласных в слове превышает ранее найденное максимальное значение количества гласных в слове, то
                        begin
                        kgmax:=kg;                          //меняю значение количества гласных в слове на новое, большее
                        kg:=0;                              // очищаю переменную для подсчета гласных в слове
                        end
                     else kg:=0;                            //иначе только очищаю переменную для подсчета гласных в слове
                end;
writeln ('Максимальное количество гласных =', kgmax);       //вывожу на экран максимальное количество гласных в слове
        if kgmax>0 then
        begin
             writeln ('содержат следующие слова');
                     for j:=1 to k do                      // задаю цикл для перебора только что сформированного массива слов
                         begin
                              kg:=0;                       // для каждого слова очищаю вначале количество гласных
                              sl:=a[j];                                //помещаю элемент массива в переменную sl
                              for i:=1 to length(sl) do                     //для этой переменной (слова) задаю цикл перебора для проверки условия
                              if sl[i] in ['a','e','u','i','o'] then              //если символ под номером  i - гласная, то
                              inc(kg);                                                     //увеличиваю количество гласных для данного слова на 1
                              if kg=kgmax then writeln(a[j]);                                    //если количество гласных совпадает с ранее вычисленным максимальным количеством гласных, то
                         end;                                                                    // вывожу этот элемент массива (то есть слово) на экран
        end;
end.
Добавлено через 4 минуты
А inc(i), inc(k) - это меня Dekio научил, за что ему спасибо огромное!
Это просто более оптимальный способ записи выражения
i:=i+1; k:=k+1, то есть процедура увеличения значения на 1
1
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 23
05.11.2011, 12:51  [ТС]
КонецСвета, ОГОРОМНОЕ СПАСИБО, всё супер!!!!! угу всё поняла))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2011, 12:51
Помогаю со студенческими работами здесь

Найти все слова, содержащие наибольшее количество гласных латинских букв (a, e, i, o, u)
Через строки: Дан текст. Группы символов, разделенные пробелом (1 или несколько) не содержащие пробелов внутри себя, будем называть...

Найти все слова, содержащие наибольшее количество гласных латинских букв
Можете помочь с задачей?? &quot;Дан текст. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя,...

Дан текст (английский). Найти все слова, содержащие наибольшее количество гласных латинских букв. (a,e,i,o,u)
Дан текст (английский). Найти все слова, содержащие наибольшее количество гласных латинских букв. (a,e,i,o,u). Пример. Anna , 123

Hайти все слова, содержащие наибольшее количество гласных латинских букв
Дан текст. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть СЛОВАМИ....

Вывести в алфавитном порядке все слова, содержащие наибольшее количество гласных букв; найти все слова, в которые буква
Вывести в алфавитном порядке все слова, содержащие наибольшее количество гласных букв; найти все слова, в которые буква «а» входит не менее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru