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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Grex
1 / 1 / 0
Регистрация: 03.12.2008
Сообщений: 55
#1

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

19.11.2009, 14:21. Просмотров 1191. Ответов 5
Метки нет (Все метки)

Доброго времени суток !
Дана лаба:

Дана строка текста, в которой слова разделены пробелами. Необходимо:
- определить количество слов в строке;
- вывести все слова строки в порядке возрастания их длин;
- вывести все слова, начинающиеся на букву «t».

п.с. первые 2 пункта сделал, а 3-й все никак не могу реализовать, если кто-то сможет помочь буду очень признателен !

Код:
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
#include <vcl.h>
#pragma hdrstop
#include <tchar.h>
#include <iostream.h>
#include <vector>
#include <string>
#include <conio.h>
#include <stdio.h>
#include <iterator>
#include <algorithm>
#pragma argsused
bool compare(const std::string &a, const std::string &b)
{
return a.length()<b.length();
}
int main()
{
cout<<"vedite stroky: ";
size_t kol = 0;
std::string s;
std::vector<std::string>a;
while (std::cin>>s && s!="sort")
{
a.push_back(s);
kol++;
}
std::cout<<endl<<"koli4estvo slov: "<<' '<<kol<<std::endl;
std::sort(a.begin(),a.end(),compare);
copy(a.begin(),a.end(),std::ostream_iterator<std::string>(std::cout<<"Sortirovka:       "," "));
getch ();
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2009, 14:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дана строка текста, в которой слова разделены пробелами. (C++):

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

Дана строка текста, в которой слова разделены символами "#" и пробелами - C++
Дана строка текста, в которой слова разделены символами &quot;#&quot; и пробелами. Необходимо: а) Определить колличество слов в строке и вывести на...

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
19.11.2009, 15:27 #2
C++
1
2
for(std::vector<std::string>::iterator iter = vec.begin(); iter!= vec.end(); ++iter)
        if((*iter)[0] == toupper('t')) std::cout << *iter << ' ';
1
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
19.11.2009, 15:27 #3
Grex,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
    std::vector<std::string>a(5);
    for (size_t i = 0 ; i < a.size() ; i++)
        std::cin>>a[i];
    for (size_t i = 0 ; i < a.size() ; i++)
        if (*(a[i].begin()) == 't' ) std::cout<<a[i]<<' ';
    return 0;
}
немного не в стиле С++ но чтобы было понятно
1
timuragmk
2 / 2 / 0
Регистрация: 19.11.2009
Сообщений: 6
19.11.2009, 15:33 #4
Привет. Я начинающий сишник. Если код кривой, прошу не винить.

1. думаю, вместо счетчика kol можно использовать a.size();
2. для вывода слов, начинающихся с символа 't', использовать следующее:

C++
1
2
3
4
5
std::for_each(a.begin(), a.end(), printStr);
 
void printStr(std::string m){
    if (m.c_str()[0] == 't') cout << m.c_str() << endl;
}
1
ISergey
Maniac
Эксперт С++
1374 / 885 / 52
Регистрация: 02.01.2009
Сообщений: 2,658
Записей в блоге: 1
19.11.2009, 15:43 #5
Цитата Сообщение от timuragmk Посмотреть сообщение
1. думаю, вместо счетчика kol можно использовать a.size();

Цитата Сообщение от timuragmk Посмотреть сообщение
2. для вывода слов, начинающихся с символа 't', использовать следующее:
C++
1
2
3
4
std::for_each(a.begin(), a.end(), printStr);
void printStr(std::string m){
if (m.c_str()[0] == 't') cout << m.c_str() << endl;
}
C++
1
2
3
4
std::for_each(a.begin(), a.end(), printStr);
void printStr(const std::string &m){
    if (m[0] == 't')  std::cout << m << std::endl;
}
1
Grex
1 / 1 / 0
Регистрация: 03.12.2008
Сообщений: 55
20.11.2009, 06:49  [ТС] #6
Огромное спасибо тем кто ответил, прога работает !

proggers respect !
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2009, 06:49
Привет! Вот еще темы с ответами:

Дана строка, в которой слова разделены одним пробелом. Найдите и выведите все слова указанной длины - C++
В итоге вышло, что если первое слово правильной длинны - выводит все слова в строке. Если нет - ничего не выводит. int main() { char...

Дана строка символов, состоящая из произвольного текста, слова раз-делены пробелами. Вывести на экран порядковый номер слова, накрывающего k позицию - C++
Помогите с вот такой вот задачкой: Дана строка символов, состоящая из произвольного текста, слова раз- делены пробелами. Вывести на...

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

Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются - C++
Дана строка до точки, группа символов в которой между пробелами считается словом, знаки препинания от слова пробелом не отделяются. вот...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.11.2009, 06:49
Ответ Создать тему
Опции темы

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