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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Считать строку символов с клавиатуры и распечатать в столбик http://www.cyberforum.ru/cpp-beginners/thread716069.html
Написать программу, которая считывает строку символов с клавиатуры и распечатывает в столбик: символ –-> код –-> его 16 -й эквивалент для каждого символа. Выполнить отладку программы на тестовом...
C++ В массиве 7 на 7 расставить в столбцах по возрастанию только четные элементы В массиве 7 на 7 расставить в столбцах по возрастанию только четные элементы. К тому же,нужно использовать указатели для создания массива. Я это сделал,а вот с сортировкой не получается.... http://www.cyberforum.ru/cpp-beginners/thread716064.html
C++ Найти произведение элементов массива, расположенных после минимального по модулю элемента
1. Дан одномерный массив целых чисел. Найти произведение элементов массива, расположенных после минимального по модулю элемента. напишите прогу пожалуйста
Создание stack C++
Выдаёт ошибку на создание стека почему-то. Не могу понять, почему именно. Вот сама ошибка: error C2143: синтаксическая ошибка: отсутствие ";" перед "<" error C4430: отсутствует спецификатор типа -...
C++ Как отсортировать структуру? http://www.cyberforum.ru/cpp-beginners/thread716041.html
В чем здесь ошибка? Нужно записать во второй файл структуру, отсортированную по параметру number. #include "stdafx.h" #include <fstream> #include <stdlib.h> using namespace std; void main...
C++ Задача на дп (олимпиадная) Здравствуйте, имеется данная задача, основная проблема состоит в том, что мое решение никак не проходит по времени. Пробовал писать через map / set / vector / простой дин.массив. Не проходит!... подробнее

Показать сообщение отдельно
Alexxfed132
Сообщений: n/a

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

02.12.2012, 11:57. Просмотров 301. Ответов 0
Метки (Все метки)

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <iostream>
#include <iomanip>
#include <cstdio>
using namespace std;
int length(char *str)//функция определения длины строки
{int i=0;
while(str[i])
{i++;}
return i;
}
 
void main()
{
    setlocale(0,"rus");
    char e[80];
    cout<<"Введите символы"<<endl;
    gets(e);
    int ed=length(e);
    //ed-количество символов 
    int i,j,k;
    k=0;
    for(i=0;i<ed;i++)
        if(((e[i]>'a')&&(e[i]<'z'))||(e[i]=='.')||(e[i]==' '))
            k++;
    cout<<k<<endl;
    i=0;j=0;
    char str[80];
        do
        {
            if(((e[j]>'a')&&(e[j]<'z'))||(e[j]=='.')||(e[j]==' '))
            {
                str[i]=e[j];
                j++;
                i++;
            }
            else
                j++;
        }while(j<ed);
        
            int tochka=0,probel=0;
        //Проверка на точку в конце
    if(str[k-1]=='.')
        tochka++;
    //Проверка на наличие пробелов
    for(i=0;i<k;i++)
    {
        if(str[i]==' ')
            probel++;
 
    }
    
    if((probel==0)||(tochka==0))
        cout<<"Ваш текст не заканчиватся точкой И/ИЛИ в нем отсутствуют пробелы"<<endl;
    else
    {
    int w=0;
    for(i=0;i<k;i++)
        {
            if((str[i]!=' ')&&(str[i]!='.')&&(str[i]!='.'))
            w++;
        }
 
    if(w==0)
        {
            cout<<"В тексте отсутствуют латинские буквы"<<endl;
    }
    else
    {{
        cout<<"Вы ввели"<<endl;
        for(i=0;i<k;i++)
        cout<<str[i];
        cout<<endl;
        int q=0,ty=0;
    for(i=0;i<k;i++)//Цикл для определения длинны массива после удаления лишних точек и пробелов
    {
        if((str[i]==' ')&&(str[i-1]==' '))
            q++;
        if((str[i]=='.')&&(str[i-1]=='.'))
            ty++;
    }
    char *strN;
    int n=k-q-ty;
    strN=new char[n];
    for(j=0,i=0;j<k;j++)
        if(((str[j]==' ')&&(str[j-1]==' '))||((str[j]=='.')&&(str[j-1]=='.')))
            j++;
        else
            {
            strN[i]=str[j];
            i++;
            }
        /*cout<<"Текст после отбрасывания лишнего:"<<endl;
        
    for(i=0;i<n-1;i++)
    {
    cout<<strN[i];
    }
    cout<<endl;*/
        //Начинаем работать со словами
    char a[40][80];//Массив слов
    int b[40];//Массив счетчиков
    i=0;j=0; q=0;
 
    do
    {
        while((strN[i]!=' ')&&(strN[i]!='.'))
        {
            a[j][q]=strN[i];
            i++;
            q++;
        
        }
        b[j]=q;
        j++;
        i++;
        q=0;
    }while(strN[i-1]!='.');
    int kolslov=j;
    cout<<"Текст пословно"<<endl;
    for(i=0;i<kolslov;i++)
    {
        for(j=0;j<b[i];j++)
        cout<<a[i][j];
        cout<<endl;
    }
    //Теперь начинаем искать равные слова
    
    
    
    
    }
    }
    }
system("pause");
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru