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

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

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

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

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

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

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

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

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

Работа со строчками (вывести в столбец все слова без повторений и количеством использования каждого слова) - 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++
Составить прогу: Ввести строку вывести каждое слово из этой строки с кол-ом повторений этого слова учитывая все знаки препинания... ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1644 / 1272 / 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;
}
TomyThompson
2 / 2 / 0
Регистрация: 26.03.2011
Сообщений: 9
19.04.2011, 21:42  [ТС]     Вывести все слова в столбик без повторений #3
Оно не работает.
Вообще задача такова:
Ввести ленту произвольной длины, которую трактовать как текст, в котором слова отделены одним или несколькими пробелами (длина слов, в общем, произвольная). Считая, что в заданном тексте возможно повторение слов, вывести все слова в столбик без повторений. Во втором столбце напечатать частоту использования соответствующего слова.
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
19.04.2011, 21:44     Вывести все слова в столбик без повторений #4
TomyThompson, Код выше вполне удовлетворяет даное условие.
TomyThompson
2 / 2 / 0
Регистрация: 26.03.2011
Сообщений: 9
19.04.2011, 22:03  [ТС]     Вывести все слова в столбик без повторений #5
код сверху выбивает 8 ошибок)
я в visual c++ 2008
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++
Доброго времени суток. Помогите с прогой пожалуйста. Ввести строку. Вывести пословно вместе со счетчиком повторений этого слова.

Определить количество слов в строке и вывести на экран слова строки в столбик - C++
Добрый вечер! Помогите разобраться: Исходное задание: Дана строка текста, в которой слова разделены символами # и пробелами. ...

Вывести в столбик слова, в которых заданная буква имеется в количестве двух штук - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;iostream&quot; #include &lt;Windows.h&gt; using namespace std; int main() { ...


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

Или воспользуйтесь поиском по форуму:
igorrr37
1644 / 1272 / 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;
}
Yandex
Объявления
20.04.2011, 00:54     Вывести все слова в столбик без повторений
Ответ Создать тему
Опции темы

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