Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 46
1

Вывести из текста слова с четным количеством гласных букв

01.11.2013, 12:13. Показов 2371. Ответов 4
Метки нет (Все метки)

Вот код при компилировании выдает все правильно, но когда ввожу допустим tt ttt tttt, эти слова тоже выводятся на экран, а не должны. Задание такое вывести из текста слова с четным количеством гласных букв.
C++
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
# include <iostream>
# include <string.h>
# include <conio.h>
using namespace std;
int main ()
{
    char glas [6]="aeiou";
    char newcharmas[256]="\0";
    int k=0,mk=0;
    char predl[256];
    cout<<"Vvedite tekst:";
    cin.getline(predl,256);
    cout<<endl<<"Vi vveli:"<<predl<<endl;
    char * pch=strtok(predl," ");
    while(pch!=NULL)
    {
        k=0;
        for(int i=0;i<=strlen(pch);i++)
        {
            if (pch[i]=='a' || pch[i]=='e' || pch[i]=='i' || pch[i]=='o' || pch[i]=='u')
            {
                k++;
            }
        }
        if (k%2==0)
        {
        strcat(newcharmas,pch);
        strcat(newcharmas," ");
        }
        pch=strtok(NULL," ");
    }
    cout<<endl<<"V dannom predlozhenii:"<<mk<<" words with chetnimi glasnimi bukvami."<<'\n';
    cout<<"Sozdan noviy massiv:"<<newcharmas<<'\n';
    _getch()
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2013, 12:13
Ответы с готовыми решениями:

Из текста на русском языке вывести слова с максимальным количеством гласных букв
Здравствуйте. Попытался написать программу. Подскажите, пожалуйста, что не так? При вводе в...

Вывести на экран слова текста, начинающиеся с гласных букв
написать программу, которая считывает английский текст из файла и выводит на экран слова текста,...

Удалить из текста все слова с нечетным количеством символов и перевернуть слова с четным количеством символов
удалить из текста все слова с нечетным количеством символов и перевернуть все слова с четным...

Вывести те слова из текста на экран, которые отсортированы по количеству гласных букв
Дали написать программу &quot;В файле есть текст, вывести слова из текста на экран, которые...

4
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
01.11.2013, 12:21 2
При k = 0, k % 2 == true.

И да, оформляйте код в тегах [CPP]

Добавлено через 1 минуту
И, да, 'y' по-моему тоже гласная, разве нет?
0
95 / 747 / 279
Регистрация: 11.04.2012
Сообщений: 971
01.11.2013, 12:25 3
C++
1
2
3
4
5
if (k%2==0 && k != 0)
{
strcat(newcharmas,pch);
strcat(newcharmas," ");
}
Мой вариант:
C++
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main(int argc, char* argv[])
{
    char str[256] = "tt ttt tttt\0";
 
    char* pch = strtok(str," ");
    while (pch != NULL)
    {
        int count = 0;
        char pchars[] = "aeiouy";
        for (int i = 0; pch[i] != '\0'; i++)
            if (strchr(pchars, pch[i])) count++;
 
        if ((count % 2) == 0 && count != 0) 
            printf("%s\n",pch);
 
        pch = strtok(NULL," ");
    }
 
    _getch();
 
    return 0;
}
1
Модератор
Эксперт по электронике
8572 / 6387 / 860
Регистрация: 14.02.2011
Сообщений: 22,218
01.11.2013, 12:26 4
Цитата Сообщение от Kings_ton Посмотреть сообщение
но когда ввожу допустим tt ttt tttt, эти слова тоже выводятся на экран, а не должны. Задание такое вывести из текста слова с четным количеством гласных букв.
ты не поверишь но 0 тоже четное
исправь условие
C++
1
if (k!=0 && k%2==0)
0
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 46
01.11.2013, 12:32  [ТС] 5
Исправил, все равно выдает вот эти ttt ttt ttt)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2013, 12:32

Работа со строками: выводит все слова, с четным количеством букв
Требуется помощь в написании следующей программы: С клавиатуры вводится текстовая строка....

Скопировать из одного файла в другой слова с чётным количеством букв
Всем привет. Не работает программа. Задание: Прочитать текст из файла f и записать в g все слова...

Найти слова с наибольшим количеством гласных букв
записывается 10 слов и потом выводится одно слово с большим количеством гласных букв

Удалить из файла f1 слова с четным количеством букв, остальное записать в файл f2
Добрый день. Нужно удалить слова из файла f1 с четным количеством букв, остальное записать в файл...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru