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

ввод-вывод информации

28.08.2012, 04:01. Просмотров 924. Ответов 5
Метки нет (Все метки)

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


C++ (Qt)
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <locale.h> 
 
int main()
{
char buff;//читаем символ из потока
int word=0;//кол-во слов
int vowels=0;//кол-во гласных
setlocale(LC_ALL,"Rus"); 
printf("Введите текст:\n\n");
while(buff=getchar())//
{
 
вот тут то и есть первая проблема... не знаю как реализовать подсчет гласных, есть 
вариант (возможно с помощью ASCII кодировки) ну в общем не знаю как реализовать,
 и 2ая проблема как потом вывести этот текст без гласных, прошу помощи..
 
}
if(word>0)word++; //кількість слів на 1 більша ніж пробілів
printf("Слов:%i\nГласных букв:%i\nНажмите Enter чтобы выйти... ",word,vowels);
 
getchar();
return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2012, 04:01
Ответы с готовыми решениями:

Ввод информации и вывод информации на экране
Используйте две переменные типа float, предложите пользователю ввести два числа и выведите на экран...

Запись выражений, ввод–вывод информацииЗапись выражений, ввод–вывод информации
Задача 2.1. Пользуясь только операцией умножения, вычислить (A в 7-ой степени) за четыре операции....

ввод-вывод информации на с++
задание на картинке

Ввод и вывод информации
char x,y; cout&lt;&lt;&quot;Ya rabotayou &quot;; cin&gt;&gt;x; cout&lt;&lt;&quot; Mne &quot;; cin&gt;&gt;y; ...

5
50 / 50 / 20
Регистрация: 28.05.2012
Сообщений: 161
28.08.2012, 04:57 2
может быть просто сделать отдельный массив гласных русских букв и сравнивать каждый элемент с элементами введенной строки ?
0
Заблокирован
28.08.2012, 05:40 3
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
#include <stdio.h>
#include <ctype.h>
 
int is_wovel( char ch ) {
    if ( !ch )
        return 0;
    else if ( ch >= 'A')
        ch = tolower( ch );
    switch( ch ) {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
            return 1;
    }
    return 0;
}
 
int main() {
    char* str = "`1234567890-=+_)(*&^%$#@!~|\\][';/.,<>?:\"{}abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char* p = str;
 
    while (*p) {
        putchar( isalpha(*p) ? is_wovel(*p) ? *p : 0 : 0 );
        ++p;
    }
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 26
29.08.2012, 00:44  [ТС] 4
спасибо за советы..
но что то башка вообще не варит с этими лабами, у меня уже жар)
попробую завтра на свежую голову, а пока что наверно спать пойду
0
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 26
01.09.2012, 17:57  [ТС] 5
вот начал заново но не получается....
думаю по таком алгоритме
1. запись в буффер гласных букв
2. ввод строки
3. сравнять строку с буффером и подсчитать кол-во совпавших элементов
4. вывести на экран строку без этих елементов

есть еще вариант
1.ввод строки
2.перевод каждого символа в ascii код внутри программы
3.сровнять ascii коды строки с asciі кодами гласных букв и высчитать количество совпавших кодов
4.результат вывести на экран в виде (Количество гласных букв = )
5.и в итоге вывести строку без этих букв


прошу помощи в реализации
0
5478 / 4873 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.09.2012, 20:07 6
Если без подсчёта слов в строке, то можно так:
Код
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
36
37
38
39
40
41
#include <cstdlib>
#include <Windows.h>
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
  SetConsoleCP(1251);
  SetConsoleOutputCP(1251);
  
  string str; 
  string vowel = "аеёиоуыэюяАЕЁИОУЫЭЮЯ";
  int  c = 0; 
  
  getline(cin, str); 
  
  cout << flush << "Строка без гласных букв: ";
//*............................................................ 
for (int i = 0; i < str.size(); i++)
  {
    if (vowel.find(str[i]) == -1)
        cout << str[i];
    else 
        c++;              
  }
//............................................................*/
/* ..вариант с итераторами...........................
for (auto i = str.begin(); i != str.end(); i++)
  {
    if (vowel.find(*i) == -1)
        cout << *i;
    else 
        c++;              
  } 
//................................................................*/    
   cout << endl << "Количество пропущенных гласных букв равно " << c << endl;
    
   system("pause");
   return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.09.2012, 20:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ввод информации из файла и вывод ее на экран
Здравствуйте! Очень нужна помощь, начать писать программу Суть: есть .txt файл с данными ...

Ввод/вывод информации с использованием текстовых компонентов
Найти угол между отрезком прямой, соединяющей начало координат с точкой A(x,y), и осью ОХ (точка...

Реализовать поиск указанной информации в заданном файле (файловый ввод/вывод)
Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в...

Ввод/вывод в консоль любой произвольной информации и закрытие ее после прочтения
Ребят, не изучал C++ и не собирался. Просьба к вам небольшая. Мне нужен код : Запускается...


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

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

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