Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Kings_ton
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 43
01.11.2013, 12:13     Вывести из текста слова с четным количеством гласных букв #1
Вот код при компилировании выдает все правильно, но когда ввожу допустим 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()
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 12:13     Вывести из текста слова с четным количеством гласных букв
Посмотрите здесь:

Найти в тексте все слова с наибольшим количеством гласных букв русского алфавита C++
Работа со строками: выводит все слова, с четным количеством букв C++
C++ Вывод слова с наибольшим количеством гласных букв
C++ Необходимо выделить из текста слова в которых количество гласных букв парная
C++ Подсчет количества слов с четным и не четным количеством букв в слове
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rivory
146 / 112 / 2
Регистрация: 15.01.2013
Сообщений: 266
01.11.2013, 12:21     Вывести из текста слова с четным количеством гласных букв #2
При k = 0, k % 2 == true.

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

Добавлено через 1 минуту
И, да, 'y' по-моему тоже гласная, разве нет?
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 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;
}
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,045
01.11.2013, 12:26     Вывести из текста слова с четным количеством гласных букв #4
Цитата Сообщение от Kings_ton Посмотреть сообщение
но когда ввожу допустим tt ttt tttt, эти слова тоже выводятся на экран, а не должны. Задание такое вывести из текста слова с четным количеством гласных букв.
ты не поверишь но 0 тоже четное
исправь условие
C++
1
if (k!=0 && k%2==0)
Kings_ton
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 43
01.11.2013, 12:32  [ТС]     Вывести из текста слова с четным количеством гласных букв #5
Исправил, все равно выдает вот эти ttt ttt ttt)
Yandex
Объявления
01.11.2013, 12:32     Вывести из текста слова с четным количеством гласных букв
Ответ Создать тему
Опции темы

Текущее время: 07:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru