Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
nutius
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 60
#1

Запись нескольких слов в одну строку - C++

19.03.2013, 20:34. Просмотров 2384. Ответов 4
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
#include <conio.h>
int main(){
    int n;
    std::cin >> n;
    char *str = new char[n];
    //std::cin.getline (str,n);
    char vowels[]="eyuioajEYUIOAJ";
    char consonants[]="qwrtpsdfghklzxcvbnmQWRTPFGHKLZXCVBNM"; 
    unsigned v=0,c=0;
    std::cin >> str;
    for (int i=0; str[i]; i++)
        if (strchr(vowels,str[i])) v++; else
        if (strchr(consonants,str[i])) c++;
    std::cout << "count of vowels - " << v << "\ncount of consonants - " << c << std::endl;
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 20:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Запись нескольких слов в одну строку (C++):

Вывод нескольких найденных значений в одну строку - C++
Здравствуйте, помогите пожалуйста в решении данной задачи. Необходимо чтобы по окончанию ввода данных в массив он производил поиск по...

Вывести результат нескольких вызовов пользовательской функции в одну строку - C++
Есть функция вроде void out(int k, int n) { for (int i = 0; i != n; i++) cout &lt;&lt; k &lt;&lt; &quot; &quot;; } Результат каждого...

Запись в файл. Все в одну строку - C++
Вот код: void CreateDictionary(char *file_name) { ofstream file_in(file_name); file_in.close(); } void WriteInTheFile(fstream...

Ввести в структуру в виде указателя строку из нескольких слов - C++
Нужно сделать структуру с помощью new. Надо чтобы программа запрашивала диаметр пиццы, название компании из нескольких слов и вес. При...

Ввести строку из нескольких слов и найти в ней заданное слово - C++
Ввести строку из нескольких слов и найти в ней заданное слово( введённое с клавиатуры) вывести сколько раз оно встечается в строке. Не...

Считывание бинарных значений из реестра и запись их в одну строку - C++
//9.Функция для считывание бинарных значений из реестра и передачи значения в виде одной строки через пробел (передать переменные с путем и...

4
Ev[G]eN
iOS/Android Developer
Эксперт С++
5115 / 1553 / 384
Регистрация: 23.01.2011
Сообщений: 3,179
19.03.2013, 20:39 #2
C++
1
2
    char string[256];
    gets(string);
1
fjay69
87 / 87 / 1
Регистрация: 26.10.2012
Сообщений: 248
19.03.2013, 20:40 #3
cin записывает данные до первого пробела. Нужно использовать cin.getline(str,N), где N - длина строки (я думаю, 512 символов вам хватит).
1
nutius
0 / 0 / 0
Регистрация: 01.06.2011
Сообщений: 60
19.03.2013, 20:48  [ТС] #4
Цитата Сообщение от fjay69 Посмотреть сообщение
cin записывает данные до первого пробела. Нужно использовать cin.getline(str,N), где N - длина строки (я думаю, 512 символов вам хватит).
я когда дописала строку cin.getline(str,N)...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstring>
#include <conio.h>
int main(){
    int n;
    std::cin >> n;
    char *str = new char[n];
    std::cin.getline (str,512);
    char vowels[]="eyuioajEYUIOAJ";
    char consonants[]="qwrtpsdfghklzxcvbnmQWRTPFGHKLZXCVBNM"; 
    unsigned v=0,c=0;
    std::cin >> str;
    for (int i=0; str[i]; i++)
        if (strchr(vowels,str[i])) v++; else
        if (strchr(consonants,str[i])) c++;
    std::cout << "count of vowels - " << v << "\ncount of consonants - " << c << std::endl;
    getch();
    return 0;
}
Все-равно подсчитывает только в первом слове гласные...что не так?
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5115 / 1553 / 384
Регистрация: 23.01.2011
Сообщений: 3,179
19.03.2013, 21:09 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <string.h>
#include <conio.h>
int main()
{
    char str[256];
    gets(str);
    char vowels[]="eyuioajEYUIOAJ";
    char consonants[]="qwrtpsdfghklzxcvbnmQWRTPFGHKLZXCVBNM";
    unsigned v=0,c=0;
    for (int i=0; str[i]; i++)
        if (strchr(vowels,str[i])) v++; else
        if (strchr(consonants,str[i])) c++;
    std::cout << "count of vowels - " << v << "\ncount of consonants - " << c << std::endl;
    getch();
    return 0;
}
Добавлено через 4 минуты
nutius, внимательней нужно быть

Цитата Сообщение от nutius Посмотреть сообщение
std::cin.getline (str,512);
тут то оно все хорошо, но после этого
Цитата Сообщение от nutius Посмотреть сообщение
std::cin >> str;
все портит)
1
19.03.2013, 21:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 21:09
Привет! Вот еще темы с ответами:

Функция, получает строку слов и рзделителей, а на выходе имеет массив слов из строки и количество этих слов - C++
мне нужна функция, которая во входе получает строку слов и рзделителей (&quot; &quot;, &quot;,&quot;, &quot;.&quot;, &quot;_&quot;, &quot;&quot;&quot;), а на выходе имеет массив слов из строки...

Запись всех повторяющихся слов в новый массив слов - C++
компилируется без ошибок, запускаю консоль после 13 строчки, а именно ввода количества слов, программа где-то вылетает, думал на 15 что-то...

Объедение нескольких переменных в одну - C++
Есть массив numbers = {1,2,3}, и нужно сделать так ,чтобы переменная x была равна трем ячейкам этого массива (т.е 123). Как это сделать?

Стыкование нескольких строк в одну - C++
Доброго времени суток. Мне нужно выводить в MessageBox например список путей некоторых файлов. Все нормально ищет, но вот как с помощью...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru