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

Программа выводящая слова и их количество. - C++

Восстановить пароль Регистрация
 
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
24.01.2011, 23:55     Программа выводящая слова и их количество. #1
Ввести строку. Вывести различные слова вместе с количеством их появления в строке.

Буду очень признателен если ктото напишет это дело в синтаксисе C. Если сдам это завтра, то получу зачет, а его очень хочется получить)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2011, 23:55     Программа выводящая слова и их количество.
Посмотрите здесь:

C++ Программа, выводящая прописью чётные числа массива.
C++ Программа, считывающая заданный текстовый файл и выводящая на экран, а также дописывающая в новую строку в конец этого файла...
C++ не запускается программа, выводящая содержимое файла
Программа, считывающая файл построчно и выводящая на экран только строки, не содержащие двузначных чисел C++
C++ Задача на вычисление суммы и программа выводящая на экран таблицу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rusl_v
 Аватар для Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
25.01.2011, 00:19     Программа выводящая слова и их количество. #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include <iostream>
#include <cstdio>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    const int n=100;
    int i=0;
    char str[n];
    cout<<"Введите строку:";
    gets(str);
    for(int x=0;str[x];x++) i++;
    cout<<str<<"\n"<<"Кол-во букавок:"<<i<<"\n";
    system("pause");
    return 0;
}
Это нужно?
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:40  [ТС]     Программа выводящая слова и их количество. #3
Спасибо конечно)но ток надо количество слов)
Но всеравно пасибо, может пригодится)
Rusl_v
 Аватар для Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
25.01.2011, 00:41     Программа выводящая слова и их количество. #4
ща переделаю
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:43  [ТС]     Программа выводящая слова и их количество. #5
а ну раз уж переделываете то нельзя ли както это дело написать используя более менее стандартные билиотеки типа string и тп прост я на первом курсе таких странных библиотек еще не изучали поэтому будет тяжеловасто объяснить)я про cstdio
Rusl_v
 Аватар для Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
25.01.2011, 00:48     Программа выводящая слова и их количество. #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
#include <cstdio>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    const int n=100;
    int i=0;
    char str[n];
    cout<<"Введите строку:";
    gets(str);
    for(int x=0;str[x];x++){
        if (str[x]==' ') i++;
    }
    cout<<str<<"\n"<<"Кол-во слов:"<<i+1<<"\n";
    system("pause");
    return 0;
}
Вроде библиотеки очень простые.
Ну библиотека #include <cstdio> нужна для gets(str); а по другому я не знаю как слова в массив запихнуть,т.к. после пробела(когда будем вводить слова) простая инструкция cin оборвёться.

Добавлено через 5 минут
Ой я не увидел что ты просил на Си написать,я тебе на Си++ написал ппц
P.S.Си не знаю
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:49  [ТС]     Программа выводящая слова и их количество. #7
Аа я просто gets <string.h> добавлял)Спасибо)
Дак а всетаки нету никаких хотябы идей по поводу того как выводить разные слова и их количество?)
Мигрень
 Аватар для Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
25.01.2011, 00:50     Программа выводящая слова и их количество. #8
можно забрать строку в цикле посимвольно, аля str[i]=getche(); и написать что-то подобное там же, типо if(str==код пробела) j++
j - счетчик слов (встретил пробел - засчитал)

подобным способом можно и отдельные слова выводить, запоминая индексы интервала между пробелами
Rusl_v
 Аватар для Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
25.01.2011, 00:52     Программа выводящая слова и их количество. #9
Цитата Сообщение от chazey Посмотреть сообщение
Аа я просто gets <string.h> добавлял)Спасибо)
Дак а всетаки нету никаких хотябы идей по поводу того как выводить разные слова и их количество?)
Я не понял,от куда их выводить, рандомно что ли?Я так понял тебе нужно ввести предложение, а потом вывести кол-во слов в нём?
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:52  [ТС]     Программа выводящая слова и их количество. #10
Цитата Сообщение от Rusl_v Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include <iostream>
#include <cstdio>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
    const int n=100;
    int i=0;
    char str[n];
    cout<<"Введите строку:";
    gets(str);
    for(int x=0;str[x];x++){
        if (str[x]==' ') i++;
    }
    cout<<str<<"\n"<<"Кол-во слов:"<<i+1<<"\n";
    system("pause");
    return 0;
}
Вроде библиотеки очень простые.
Ну библиотека #include <cstdio> нужна для gets(str); а по другому я не знаю как слова в массив запихнуть,т.к. после пробела(когда будем вводить слова) простая инструкция cin оборвёться.

Добавлено через 5 минут
Ой я не увидел что ты просил на Си написать,я тебе на Си++ написал ппц
P.S.Си не знаю
Да твой Си++ понятен от Си отличается только cout и cin и уж это и так понятно)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
25.01.2011, 00:54     Программа выводящая слова и их количество. #11
C++
1
2
3
4
5
6
7
8
9
10
11
std::string str;
getline(str);
std::istringstream ist(str);
std::vector<std::string> vec;
while(ist >> str)
   vec.push_back(str);
std::for_each(vec.begin(), vec.end(), [](std::string a_) 
{
   std::cout << "\nWord -> " << a_ << ' ' << "count in str -> " 
                                          << std::count(vec.begin(), vec.end(), a_) << '\n';
});
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:55  [ТС]     Программа выводящая слова и их количество. #12
Мне нужно вывести количество разных слов в строке теость я ввожу предположим строку - "abc abc abc def def qwe" вывести прога должна
abc - 3
def - 2
qwe - 1
Rusl_v
 Аватар для Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
25.01.2011, 00:57     Программа выводящая слова и их количество. #13
Цитата Сообщение от chazey Посмотреть сообщение
Мне нужно вывести количество разных слов в строке теость я ввожу предположим строку - "abc abc abc def def qwe" вывести прога должна
abc - 3
def - 2
qwe - 1
Я понял,если не усну на клаве то напишу))
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 01:10  [ТС]     Программа выводящая слова и их количество. #14
Хех спасибо)я тоже отрубаюсь)сегодня зачет по введению в специальность сдавал)это просто ужас

Добавлено через 9 минут
Цитата Сообщение от asics Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
std::string str;
getline(str);
std::istringstream ist(str);
std::vector<std::string> vec;
while(ist >> str)
   vec.push_back(str);
std::for_each(vec.begin(), vec.end(), [](std::string a_) 
{
   std::cout << "\nWord -> " << a_ << ' ' << "count in str -> " 
                                          << std::count(vec.begin(), vec.end(), a_) << '\n';
});

А в синтаксисе C не могли бы вы это написать?мне прост именно в C надо а не C++
Флибустьер
 Аватар для Флибустьер
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
25.01.2011, 11:29     Программа выводящая слова и их количество. #15
В процессе обучения тоже задали эту задачку, и тоже на С. Как раз ломаю голову (сломать должен к этому воскресенью). Пока наломал на вот что: варинат с изначальным заданием количества слов=0 и увеличением на 1 в случае обнаружения ' ' не совсем корректен (пользователь может ввести два пробела подряд...). Возможно увеличение количества если встретился ' ', а предыдущий элемент массива !=0.
bobrovskii
57 / 57 / 3
Регистрация: 22.01.2011
Сообщений: 187
25.01.2011, 12:45     Программа выводящая слова и их количество. #16
Студенты вы где? ваще рещение:
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
#include <stdio.h>
#include <malloc.h>
#include <string.h>
 
int main(void) {
    int count_words = 0;
    char *tok, *ptr;
    char words[128][128];
    char *str = "abc abc abc def def qwe";
 
    fprintf(stdout, "string: %s\n", str);
 
    ptr = str;
    while ( (tok = strtok(ptr, " ,.!?")) ) {
        ptr = NULL;
        strcpy(words[count_words++], tok);
    }
 
    fprintf(stdout, "count words: %d\n", count_words);
 
    if (count_words) {
        int i, j;
        for (i = 0; i < count_words; i++) {
            int dup = 0;
            for (j = 0; j < count_words; j++) {
                if (!strcmp(words[i], words[j])) dup++;
            }
 
            fprintf(stdout, "%s - %d\n", words[i], dup);
        }
    }
 
    //getch();
    return 0;
}
естественно доработать надо, так скажим, как это делается)))
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 13:44  [ТС]     Программа выводящая слова и их количество. #17
Спасибо)зачет правда уже получил, но всеравно спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2011, 13:51     Программа выводящая слова и их количество.
Еще ссылки по теме:

Программа выводящая имена файлов в каталоге C++
Программа выводящая строку наоборот C++

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

Или воспользуйтесь поиском по форуму:
Флибустьер
 Аватар для Флибустьер
0 / 0 / 0
Регистрация: 24.01.2011
Сообщений: 12
25.01.2011, 13:51     Программа выводящая слова и их количество. #18
Цитата Сообщение от chazey Посмотреть сообщение
Спасибо)зачет правда уже получил, но всеравно спасибо)
Поделитесь для опыта?
Yandex
Объявления
25.01.2011, 13:51     Программа выводящая слова и их количество.
Ответ Создать тему
Опции темы

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