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

Строка: Подсчитать и вывести на печать количество вводов каждой буквы. - C++

Восстановить пароль Регистрация
 
krohta
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 53
12.03.2013, 15:02     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #1
Вот задание:
Кликните здесь для просмотра всего текста
1.З екрану вводяться літери А, В, С, *, Р. Підрахувати та вивести на друк кількість введенькожної літери.


С экрана вводятся буквы А, В, С, * Р. Подсчитать и вывести на печать количество вводов каждой буквы.
 Комментарий администратора 
Официальный язык форума - русский

Вот мой пример програмы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
char a;
int n;
while (a<=999)
cin>>a;
if (a=='a');
n++;
printf("%d",n);
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 15:02     Строка: Подсчитать и вывести на печать количество вводов каждой буквы.
Посмотрите здесь:

Строка: Подсчитать, сколько слов в строке, и вывести слова, содержащие 3 буквы. C++
C++ Дана строка. Подсчитать общее колличество прописных и строчных латинских и русских букв и вывести на консоль количество
C++ Даны N предложений. Подсчитать количество слов в каждом предложении и вывести на печать
C++ С экрана вводятся любые буквы. Подсчитать и вывести на печать количество вводов буквы А
C++ Подсчитать и вывести на печать количество вводов букв А...W
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
podfenom
0 / 0 / 0
Регистрация: 12.03.2013
Сообщений: 3
12.03.2013, 15:15     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #2
C++
1
2
3
4
5
6
7
#include <stdio.h>
void main()
{int i, sum=0;
for(i=0; i<4; i++) //i=1, 2, 3, 4
sum+=10*i; // 0 10 30 60 (0+10+20+30)
printf("sum=%d\n",sum);
}
srg_btl
33 / 33 / 2
Регистрация: 21.02.2013
Сообщений: 90
12.03.2013, 15:18     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #3
Используй для ввода-вывода одну библиотеку.
Создай переменую char, и после введения сравнивай ее. Порекомендовал бы использовать map, но сумниваюсь что ты знаком с STL, делай проверку вручную.

Считывание
stdio.h
C++
1
scanf("%c", &a);
conio.h
C++
1
_cscanf("%c",&a);
iostream
C++
1
cin >> a;
Для подсчета создай массив и обнули его, в соответсвии с символом увеличивай эллемент массива индекс которого соответствует символу. Напр:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
switch(a)
{
case 'A':
  ++n[0];
  break;
case 'B':
  ++n[1];
  break;
case 'C':
  ++n[2];
  break;
// и так дальше
}
Не стоиит забывать что 'A' и 'a' это разные символы
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
12.03.2013, 15:20     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #4
Прокомпилируй. Нет среды по рукой. )

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
int main()
 
{
 char a;
 int n,n1,n2,n3,n4;
 
 while (a<=100)
 {
 cin >> a;
 
   if (a=='a')
{
    n++;
}else if (a=='b')
{
    n1++;
}else if (a=='c')
{
    n2++;
}else if (a=='*')
{
    n3++;
}else if (a=='P')
{
    n4++;
} else continue;
 
}
 cout << "a =="<<n<<endl;
cout << "b =="<<n<<endl;
cout << "c =="<<n<<endl;
cout << "* =="<<n<<endl;
cout << "P =="<<n<<endl;
 
 getch();
return 0;
}
srg_btl
33 / 33 / 2
Регистрация: 21.02.2013
Сообщений: 90
12.03.2013, 15:30     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #5
Цитата Сообщение от oleg@tor1 Посмотреть сообщение
Прокомпилируй. Нет среды по рукой. )

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
int main()
 
{
 char a;
 int n,n1,n2,n3,n4;
 
 while (a<=100)
 {
 cin >> a;
 
   if (a=='a')
{
    n++;
}else if (a=='b')
{
    n1++;
}else if (a=='c')
{
    n2++;
}else if (a=='*')
{
    n3++;
}else if (a=='P')
{
    n4++;
} else continue;
 
}
 cout << "a =="<<n<<endl;
cout << "b =="<<n<<endl;
cout << "c =="<<n<<endl;
cout << "* =="<<n<<endl;
cout << "P =="<<n<<endl;
 
 getch();
return 0;
}
Если нет среды

C++
1
while (a<=100)
если у нас поступит символ с кодом больше 100 -- выход, если при обьявлении туда поместиться какойто мусор так же больше 100 даже в цыкл не зайдет.

Зачем использовать if-else-if если можно switch-case?
krohta
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 53
12.03.2013, 15:31  [ТС]     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #6
Спасибо, заработало!!!

Добавлено через 43 секунды
Сделайте пожалуйста с помощью switch-case
srg_btl
33 / 33 / 2
Регистрация: 21.02.2013
Сообщений: 90
12.03.2013, 15:46     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #7
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
 while (true)
 {
 cin >> a;
 switch(a)
{
case 'A':
case 'a':
 ++n;
continue;
case 'B':
case 'b':
 ++n1;
continue;
case 'C':
case 'c':
 ++n2;
continue;
case '*':
 ++n3;
continue;
case 'P':
case 'p':
 ++n4;
continue;
case 'q':
break;
default:
continue;
}
break;
 
}
Выход из цыкла(програмы) кнопка 'q'
oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
12.03.2013, 15:57     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #8
Как вариант. Цыкл - пишется цИкл.
srg_btl
12.03.2013, 16:45
  #9

Не по теме:

Цитата Сообщение от oleg@tor1 Посмотреть сообщение
Цыкл - пишется цИкл.
Русский язык никогда не изучал, родным являеться украинский, так что... сорри

oleg@tor1
 Аватар для oleg@tor1
32 / 17 / 2
Регистрация: 05.09.2011
Сообщений: 152
12.03.2013, 16:46     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #10
Цитата Сообщение от srg_btl Посмотреть сообщение

Не по теме:


Русский язык никогда не изучал, родным являеться украинский, так что... сорри

Ну тогда не беда ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2013, 18:45     Строка: Подсчитать и вывести на печать количество вводов каждой буквы.
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 538
12.03.2013, 18:45     Строка: Подсчитать и вывести на печать количество вводов каждой буквы. #11
#include <iostream>
using namespace std;

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main()
{
    char *symb = "abcdefghijklmnopqrstuvwxyz";
    char curr;
    int cnt[26] = {0};
    
    do 
    {
        curr = cin.get();
        
        for (int i = 0; i < 26; ++i)
            if (symb[i] == curr)
                cnt[i]++;
    }
    while (curr != '\n');
    
    for (int i = 0; i < 26; ++i)
        if (cnt[i] !=0)
            cout << symb[i] << " " << cnt[i] << endl;
            
 
    system("pause");
}
Yandex
Объявления
12.03.2013, 18:45     Строка: Подсчитать и вывести на печать количество вводов каждой буквы.
Ответ Создать тему
Опции темы

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