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

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

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

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

19.03.2013, 20:34. Просмотров 1780. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 20:34     Запись нескольких слов в одну строку
Посмотрите здесь:

Вывод нескольких найденных значений в одну строку - 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++
мне нужна функция, которая во входе получает строку слов и рзделителей (&quot; &quot;, &quot;,&quot;, &quot;.&quot;, &quot;_&quot;, &quot;&quot;&quot;), а на выходе имеет массив слов из строки...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
19.03.2013, 20:39     Запись нескольких слов в одну строку #2
C++
1
2
    char string[256];
    gets(string);
fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
19.03.2013, 20:40     Запись нескольких слов в одну строку #3
cin записывает данные до первого пробела. Нужно использовать cin.getline(str,N), где N - длина строки (я думаю, 512 символов вам хватит).
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;
}
Все-равно подсчитывает только в первом слове гласные...что не так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 21:09     Запись нескольких слов в одну строку
Еще ссылки по теме:

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

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

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

Дана строка из 20 слов. Сформировать строку, составленную из последних букв всех слов исходной строки - C++
Задача: дана строка из 20 слов (или любого другого числа). Сформировать строку, составленную из последних букв всех слов исходной строки.

Преобразовать строку из файла, содержащую запись десятичного числа, в строку с двоичным числом - C++
Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа. И...

Поиск слов содержащих одну цифру - C++
Здравствуйте,помогите пожалуйста с программой ,а то у меня она не совсем правильно работает // ConsoleApplication1.cpp: определяет точку...


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

Или воспользуйтесь поиском по форуму:
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
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;
все портит)
Yandex
Объявления
19.03.2013, 21:09     Запись нескольких слов в одну строку
Ответ Создать тему
Опции темы

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