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

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

Войти
Регистрация
Восстановить пароль
 
 
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
#1

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

24.01.2011, 23:55. Просмотров 975. Ответов 17
Метки нет (Все метки)

Ввести строку. Вывести различные слова вместе с количеством их появления в строке.

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

Не выводящая программа - C++
Данная программа ничего не выводит на экран, возможно ничего и не считаетю В чём проблема? #include <iostream> #include <stdlib.h> ...

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

Программа выводящая строку наоборот - C++
Необходимо сделать программу, с функцией, сперва меняющей местами первую и последнюю букву строки, после вторую и т.д. Функция main()...

не запускается программа, выводящая содержимое файла - C++
Эта программа по идее должна выводить на экран содержимое произвольно заданного файла, но не запускается дальше того, как вводится название...

Программа, выводящая на экран синусы углов - C++
Добрый вечер! Кому не сложно, создайте, пожалуйста, программу, выводящую на экран синусы углов 0, 5, 10, 15, …, 180 градусов.

Программа выводящая имена файлов в каталоге - C++
Пытаюсь разобраться в программе: Программа выводит имена файлов и их i-node в указанном каталоге. #include <stdio.h> #include...

17
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;
}
Это нужно?
0
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:40  [ТС] #3
Спасибо конечно)но ток надо количество слов)
Но всеравно пасибо, может пригодится)
0
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
25.01.2011, 00:41 #4
ща переделаю
0
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:43  [ТС] #5
а ну раз уж переделываете то нельзя ли както это дело написать используя более менее стандартные билиотеки типа string и тп прост я на первом курсе таких странных библиотек еще не изучали поэтому будет тяжеловасто объяснить)я про cstdio
0
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.Си не знаю
0
chazey
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 11
25.01.2011, 00:49  [ТС] #7
Аа я просто gets <string.h> добавлял)Спасибо)
Дак а всетаки нету никаких хотябы идей по поводу того как выводить разные слова и их количество?)
0
Мигрень
20 / 20 / 2
Регистрация: 09.11.2010
Сообщений: 102
25.01.2011, 00:50 #8
можно забрать строку в цикле посимвольно, аля str[i]=getche(); и написать что-то подобное там же, типо if(str==код пробела) j++
j - счетчик слов (встретил пробел - засчитал)

подобным способом можно и отдельные слова выводить, запоминая индексы интервала между пробелами
0
Rusl_v
13 / 12 / 1
Регистрация: 22.12.2010
Сообщений: 67
25.01.2011, 00:52 #9
Цитата Сообщение от chazey Посмотреть сообщение
Аа я просто gets <string.h> добавлял)Спасибо)
Дак а всетаки нету никаких хотябы идей по поводу того как выводить разные слова и их количество?)
Я не понял,от куда их выводить, рандомно что ли?Я так понял тебе нужно ввести предложение, а потом вывести кол-во слов в нём?
0
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 и уж это и так понятно)
0
asics
Freelance
Эксперт С++
2848 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
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';
});
0
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
0
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
Я понял,если не усну на клаве то напишу))
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 / 0
Регистрация: 24.01.2011
Сообщений: 12
25.01.2011, 11:29 #15
В процессе обучения тоже задали эту задачку, и тоже на С. Как раз ломаю голову (сломать должен к этому воскресенью). Пока наломал на вот что: варинат с изначальным заданием количества слов=0 и увеличением на 1 в случае обнаружения ' ' не совсем корректен (пользователь может ввести два пробела подряд...). Возможно увеличение количества если встретился ' ', а предыдущий элемент массива !=0.
0
25.01.2011, 11:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2011, 11:29
Привет! Вот еще темы с ответами:

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

Программа выводящая число, месяц и день недели - C++
Здравствуйте. Возникла такая проблема. Есть задача: &quot;Пользователь вводит дату в формате: &quot;Число.Месяц. Год&quot;, нужно написать программу,...

Программа, выводящая прописью чётные числа массива. - C++
В синтаксисе ошибок нет. При вводе кол-ва элементов выдаёт: &quot;Необработанное исключение в &quot;0x5561d2f3 (msvcr100d.dll)&quot; в &quot;test5.exe&quot;:...

Задача на вычисление суммы и программа выводящая на экран таблицу - C++
1. Напишите программу, которая вычисляет частичную сумму ряда 1-1/3+1/5-1/7+1/9-… 2. Написать программу выводящую на экран таблицу...


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

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

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