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

Лаба строки - C++

Восстановить пароль Регистрация
 
STRANNIK-66693
0 / 0 / 0
Регистрация: 04.04.2011
Сообщений: 4
22.06.2011, 22:09     Лаба строки #1
Совсем не разбираюсь в типе строк и дин массивов .
4. Символьная строка, содержащая произвольный русский текст, состоит не более, чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте. Ответ должен приводиться в грамматически правильной форме, например: а – 25 раз, к – 3 раза.
Помогите кто нибудь реализовать . буду очень признателен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2011, 22:09     Лаба строки
Посмотрите здесь:

Лаба C++
Лаба C++
C++ Лаба по С++.
Лаба по С++ C++
C++ лаба на тему массивы и строки ^_^
C++ Лаба
C++ Лаба
Лаба C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
22.06.2011, 22:41     Лаба строки #2
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
42
43
44
45
#include "stdafx.h"
#include "iostream"
#include "vector"
#include <string>
 
using namespace std;
 
struct sign{
    char s;
    int count;
};
int _tmain(int argc, _TCHAR* argv[])
{
    string str;
    cin >> str;
    vector<sign> countOfSigns;
    for(int a=0;a < str.size(); a++)
    {
        bool isCopy = false;
        for(int b=0;b<countOfSigns.size();b++)
            if (str[a]==countOfSigns[b].s)
            {
                isCopy = true;
                countOfSigns[b].count++;
                break;
            }
        if (!isCopy)
        {
            sign q;
            q.s = str[a];
            q.count = 1;
            countOfSigns.push_back(q);
        }
    }
    for(int a=0;a<countOfSigns.size();a++)
    {
        if (countOfSigns[a].count == 0 || countOfSigns[a].count == 1 || countOfSigns[a].count == 5 || countOfSigns[a].count == 6
            || countOfSigns[a].count == 7 || countOfSigns[a].count == 8 || countOfSigns[a].count == 9)
            cout << "Znak " << countOfSigns[a].s << " vstretilsy " << countOfSigns[a].count << " raz\n";
        else
            cout << "Znak " << countOfSigns[a].s << " vstretilsy " << countOfSigns[a].count << " raza\n";
    }
    cin >> *new int;
    return 0;
}
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
22.06.2011, 22:50     Лаба строки #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
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <locale.h>
 
 
#define  RUS_ABC  33
 
 
 
 void  main(void){
 
    setlocale(LC_ALL, "Russia"); 
 
    char* rus = "аааАААббааоорргннввжфэзаофдртк";
 
 
    int   abc[RUS_ABC][2], inx = 0;
    for(char  c = 'а'; c <= 'я'; c++, inx++) {
        abc[inx][0] = (int) c;
        abc[inx][1] = 0;
    }       
 
          // подсчитываем буквы
    for(int i = 0; i < RUS_ABC; i++) {
         const char*  iter = rus;
         while( *iter !=  '\0' ) {
             if( (char) abc[i][0] == tolower(*iter) )
                abc[i][1]++;
             *iter++;
         }
    }
 
    
    for(int p = 0; p < RUS_ABC; p++) {
         if( abc[p][1] > 0 )
            printf("%c - %d раз, ", (char) abc[p][0], abc[p][1]);
    }
 
          getchar();
}
Yandex
Объявления
22.06.2011, 22:50     Лаба строки
Ответ Создать тему
Опции темы

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