Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
12 / 12 / 5
Регистрация: 20.11.2012
Сообщений: 55
1

Дана строка текста, в которой слова разделены символами "#" и пробелами

17.05.2013, 16:13. Показов 2239. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана строка текста, в которой слова разделены символами "#" и пробелами. Необходимо:
а) Определить колличество слов в строке и вывести на экран слова этой строки в столбик
б) найти самое короткое слово и его порядковый номер в строке
в) определить сколько раз буква "а" встречается в каждом слове
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream.h>
#include <conio.h>
#include <string.h>
 
void main() {
const int len=81;
char str[len];
cout << "Vvedite stroky \n";
cin.get (str,len);
int k=1;
for (int i=0;str[i]!='\0';i++) {
if (str[i]==' '|| str[i]=='#') {k++;cout << endl;} //
else {cout << str[i];}
}
cout <<endl <<"Kolichestvo slov"<<k; 
getch();}
Пункт а я сделал, помогите сделать пункты б и в, очень срочно пожалуйста!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2013, 16:13
Ответы с готовыми решениями:

Дана строка текста, в которой слова разделены пробелами.
Доброго времени суток ! Дана лаба: Дана строка текста, в которой слова...

Дана строка текста, в которой слова разделены пробелами и запятыми, вывести повторяющиеся слова
Помогите пожалуйста! Как мне найти и вывести повторяющиеся слова? П.С. При работе со строками не...

Дана строка, слова в которой разделены пробелами. Удалить из строки самое длинное слово
ПОМОГИТЕ ПОЖАЛУЙСТА ВЫПОЛНИТЬ ЗАДАНИЕ ПО С++... Дана строка, слова в которой разделены пробелами....

Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые начинаются на ту же букву, что и первое слово.
5.17 Дана строка, слова в которой разделены пробелами. Оставьте в ней только те слова, которые...

Дана строка символов, состоящая из произвольного текста, слова разделены пробелами
Здравствуйте. Помогите написать программу: Реализовать алгоритм решения задачи. Дана строка...

2
интересующийся
311 / 282 / 93
Регистрация: 25.09.2010
Сообщений: 1,056
17.05.2013, 17:12 2
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
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::string s;
    std::vector<std::string> v;
    char ch;
 
    std::cout << "Put line: ";
    while (std::cin.get(ch))
    {
        switch (ch)
        {
            case ' ':
            case '\t':
            case '#':
            case '\n':
                if (s.size())
                {
                    v.push_back(s);
                    s.erase();
                }
                if (ch == '\n')
                {
                    goto _END_OF_LOOP;
                }
                break;
            default:
                s.push_back(ch);
                break;
        }
    }
_END_OF_LOOP:
 
    std::cout << "1. We have some words:\n";
    std::copy(v.begin(), v.end(), std::ostream_iterator<std::string> (std::cout, "\n"));
    std::cout << '\n';
 
    std::cout << "2. Shortest word: ";
    std::cout << "[";
    unsigned max = 0;
    for (unsigned i = 1; i < v.size(); ++i)
    {
        if (v[i].size() < v[max].size())
        {
            max = i;
        }
    }
    std::cout << max+1 << "] - " << v[max] << "\n" << std::endl;
 
    std::cout << "3. Find 'a':\n";
    for (unsigned i = 0; i < v.size(); ++i)
    {
        std::cout << "   " << i+1 << ") " << v[i] << ": " 
            << std::count(v[i].begin(), v[i].end(), 'a') << std::endl;
    }
}
Добавлено через 1 минуту
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ilyuha21st@coldshoot:~/Projects$ ./prog
Put line: hello world and# peace#to#all#
1. We have some words:
hello
world
and
peace
to
all
 
2. Shortest word: [5] - to
 
3. Find 'a':
   1) hello: 0
   2) world: 0
   3) and: 1
   4) peace: 1
   5) to: 0
   6) all: 1
ilyuha21st@coldshoot:~/Projects$
1
12 / 12 / 5
Регистрация: 20.11.2012
Сообщений: 55
17.05.2013, 17:16  [ТС] 3
Цитата Сообщение от xtorne21st Посмотреть сообщение
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
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
    std::string s;
    std::vector<std::string> v;
    char ch;
 
    std::cout << "Put line: ";
    while (std::cin.get(ch))
    {
        switch (ch)
        {
            case ' ':
            case '\t':
            case '#':
            case '\n':
                if (s.size())
                {
                    v.push_back(s);
                    s.erase();
                }
                if (ch == '\n')
                {
                    goto _END_OF_LOOP;
                }
                break;
            default:
                s.push_back(ch);
                break;
        }
    }
_END_OF_LOOP:
 
    std::cout << "1. We have some words:\n";
    std::copy(v.begin(), v.end(), std::ostream_iterator<std::string> (std::cout, "\n"));
    std::cout << '\n';
 
    std::cout << "2. Shortest word: ";
    std::cout << "[";
    unsigned max = 0;
    for (unsigned i = 1; i < v.size(); ++i)
    {
        if (v[i].size() < v[max].size())
        {
            max = i;
        }
    }
    std::cout << max+1 << "] - " << v[max] << "\n" << std::endl;
 
    std::cout << "3. Find 'a':\n";
    for (unsigned i = 0; i < v.size(); ++i)
    {
        std::cout << "   " << i+1 << ") " << v[i] << ": " 
            << std::count(v[i].begin(), v[i].end(), 'a') << std::endl;
    }
}
Добавлено через 1 минуту
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ilyuha21st@coldshoot:~/Projects$ ./prog
Put line: hello world and# peace#to#all#
1. We have some words:
hello
world
and
peace
to
all
 
2. Shortest word: [5] - to
 
3. Find 'a':
   1) hello: 0
   2) world: 0
   3) and: 1
   4) peace: 1
   5) to: 0
   6) all: 1
ilyuha21st@coldshoot:~/Projects$
Огромное спасибо, очень выручил!!!
0
17.05.2013, 17:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2013, 17:16
Помогаю со студенческими работами здесь

Дана строка символов, состоящая из произвольного текста, слова разделены пробелами
Дана строка символов, состоящая из произвольного текста, слова разделены пробелами. Вывести на...

Строка, слова в которой разделены пробелами
1) слова в строке разделены пробелами. найти самое длинное слово 2) слова в строке разделены...

Дана строка слов котором разделены пробелами все слова в строке перевернуть на c++
Дана строка слов котором разделены пробелами все слова в строке перевернуть на c++

Дана строка текста в которой слова разделены пробелами
Дана строка текста, в которой слова разделены пробелами. Необходимо; определить количество слов в...

Дана строка текста, в которой слова разделены пробелами. Необходимо: - определит
Дана строка текста, в которой слова разделены пробелами. Необходимо: ...

Дана строка текста, в которой слова разделены пробелами и запятыми. Необходимо:
Используя функции обработки строк. Дана строка текста, в которой слова разделены пробелами и...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru