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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
TomyThompson
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 9
#1

Вывести все слова в столбик без повторений - C++

18.04.2011, 18:43. Просмотров 1455. Ответов 5
Метки нет (Все метки)

У меня такое задание:

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

Как это сделать? Помогите пожалуйста.

Добавлено через 19 часов 59 минут
Это делать черз двумерный массив?
Напишите пожалуйста кто знает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2011, 18:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести все слова в столбик без повторений (C++):

Работа со строчками (вывести в столбец все слова без повторений и количеством использования каждого слова) - C++
Ввести строку. Учитывая что строка может содержать слова которые повторяются, вывести в столбец все слова без повторений и количеством...

Вывести все слова по одному в столбик - C++
Я написал нечто подобное#include <iostream> #include <windows.h> #include <cstdio> using namespace std; int main() { ...

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

Из заданной строки, распечатать все слова без повторений (как добавить функцию strcmp) - C++
Из заданной строки, распечатать все слова без повторений, используя функции strtok, strcmp. #include <iostream> #include...

Вывести все глухие согласные (без повторений), которые встретились в двух самых коротких словах - C++
Помогите или хотя бы натолкните на мысль чайника в программировании, пожалуйста! Итак, дана следующая задача: Дан массив из n слов...

Ввести строку вывести каждое слово из этой строки с кол-ом повторений этого слова учитывая все знаки препинания... - C++
Составить прогу: Ввести строку вывести каждое слово из этой строки с кол-ом повторений этого слова учитывая все знаки препинания... ...

5
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
18.04.2011, 19:15 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<map>
#include<string>
#include<sstream>
#include<algorithm>
#include<iomanip>
 
 
int main(){
    std::string text="aa  ss   aaa   aa ss aa";
    std::stringstream ss(text);
    std::map<std::string, int> wordCon;
    while(ss>>text){
        ++wordCon[text];
    }
    std::for_each(wordCon.begin(), wordCon.end(), [](std::pair<std::string, int> val){
                  std::cout<<std::setw(15)<<std::left<<val.first<<" "<<val.second<<"\n";});
    return 0;
}
2
TomyThompson
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 9
19.04.2011, 21:42  [ТС] #3
Оно не работает.
Вообще задача такова:
Ввести ленту произвольной длины, которую трактовать как текст, в котором слова отделены одним или несколькими пробелами (длина слов, в общем, произвольная). Считая, что в заданном тексте возможно повторение слов, вывести все слова в столбик без повторений. Во втором столбце напечатать частоту использования соответствующего слова.
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.04.2011, 21:44 #4
TomyThompson, Код выше вполне удовлетворяет даное условие.
1
TomyThompson
3 / 3 / 0
Регистрация: 26.03.2011
Сообщений: 9
19.04.2011, 22:03  [ТС] #5
код сверху выбивает 8 ошибок)
я в visual c++ 2008
1
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
20.04.2011, 00:54 #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
 
int Cmp(const void* a, const void* b){
    return strcmp(*(char**)a, *(char**)b);
}
 
int main(){
    char text[]="aa  ss   aaa   aa ss aa", *p=NULL, *mas[100]={NULL}, **a=mas, **b=mas;
    for(p=strtok(text, " "); p; p=strtok(NULL, " "), ++a){
        *a=p;
    }
    qsort(mas, a-mas, sizeof(*mas), Cmp);
    for(a=mas; *a; ){
        for(b=a; *a&&!strcmp(*b, *a); ++a);
        printf("%-15s %d\n", *b, a-b);
    }
    return 0;
}
1
20.04.2011, 00:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2011, 00:54
Привет! Вот еще темы с ответами:

Распечатать в столбик все слова строки - C++
Дана строка, в которой находятся слова и числа, отделенные друг от друга пробелами. Подскажите пожалуйста, что поменять в коде. Требуется...

Вывести в столбик слова, в которых две буквы а - C++
Дана строка символов, состоящая из слов, разделенных пробелами. Распечатать исходную строку. Вывести в столбик слова, в которых две буквы а.

Выписать все перестановки без повторений - C++
Тему копирую из раздела C#, из-за того что на си народу больше. Есть строка 0,1,2,3,4 и к примеру таблица int m = 5; int...

Вывести слова вместе со счетчиком их повторений - C++
Доброго времени суток. Помогите с прогой пожалуйста. Ввести строку. Вывести пословно вместе со счетчиком повторений этого слова.


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

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

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