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

задан текст состоящий из слов. хотя бы начать с чего напишите) - C++

Восстановить пароль Регистрация
 
Туся111
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 43
15.05.2013, 15:39     задан текст состоящий из слов. хотя бы начать с чего напишите) #1
Задан текст, состоящий из слов, записанных через запятые и/или пробел, и заканчивающийся точкой. Длина текста не больше 100 символов, могут быть использованы любые символы. Словом считается последовательность символов, не содержащая пробел. Сформировать новую строку, в которую включены слова по возрастанию их длин. Получить массив результатов деления на 100 цифровых слов.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,049
Записей в блоге: 18
Завершенные тесты: 1
15.05.2013, 15:43     задан текст состоящий из слов. хотя бы начать с чего напишите) #2
1. разделить предложение на слова
2. записать слова в массив
3. сортировать массив
4. Записать массив в строку и вывести строку.

Разделить строку на слова.
разделить предложение на слова
Туся111
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 43
15.05.2013, 15:46  [ТС]     задан текст состоящий из слов. хотя бы начать с чего напишите) #3
можно пожалуйста код 1 пункта?)
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,049
Записей в блоге: 18
Завершенные тесты: 1
15.05.2013, 15:48     задан текст состоящий из слов. хотя бы начать с чего напишите) #4
Примеры привел, пишите)
Туся111
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 43
15.05.2013, 16:03  [ТС]     задан текст состоящий из слов. хотя бы начать с чего напишите) #5
спасибо попробую)

Добавлено через 10 минут
chizz, в этих кодах я ничего не понимаю(

Добавлено через 2 минуты
как осуществить ввод текста длинной не более 100 символов причем не считая пробелы?
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,049
Записей в блоге: 18
Завершенные тесты: 1
15.05.2013, 16:08     задан текст состоящий из слов. хотя бы начать с чего напишите) #6
Цитата Сообщение от Туся111 Посмотреть сообщение
chizz, в этих кодах я ничего не понимаю
Тогда у вас 2 пути.

1. Начать разбираться.
2. Пойти в ветку "Фриланс" и заказать работу

Добавлено через 1 минуту
Цитата Сообщение от Туся111 Посмотреть сообщение
Задан текст, состоящий из слов, записанных через запятые и/или пробел, и заканчивающийся точкой.
Нигде не написано, что его надо вводить вручную. Вы можете его просто забить в коде.
char str[] = "blah blah blah",
Туся111
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 43
15.05.2013, 16:12  [ТС]     задан текст состоящий из слов. хотя бы начать с чего напишите) #7
я его должна задавать.

Добавлено через 1 минуту
потому что зачем тогда указана его длина?
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,049
Записей в блоге: 18
Завершенные тесты: 1
15.05.2013, 16:21     задан текст состоящий из слов. хотя бы начать с чего напишите) #8
Ввести с клавиатуры строку символов и обработать ее

Вы конечно можете подождать и кто-нибудь напишет вам полностью. Тут как повезет.
Туся111
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 43
15.05.2013, 16:23  [ТС]     задан текст состоящий из слов. хотя бы начать с чего напишите) #9
chizz, спасибо)
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
15.05.2013, 16:27     задан текст состоящий из слов. хотя бы начать с чего напишите) #10
Цитата Сообщение от Туся111 Посмотреть сообщение
Сформировать новую строку, в которую включены слова по возрастанию их длин.
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
#include <iostream>
#include <algorithm>
#include <sstream>
#include <string>
#include <vector>
#include <iterator>
 
bool pred_cmpsize(const std::string & str1,const std::string & str2){
    return str1.size()<str2.size();
}
 
int main(){
    std::vector<std::string> vec;
    std::string str;
    std::getline(std::cin,str);
    std::string::size_type pos=str.find_last_of(".");
    if(pos!=std::string::npos){
        str.resize(pos);
    }
    std::stringstream ss(str);
    while(ss>>str)
        vec.push_back(str);
    std::sort(vec.begin(),vec.end(),pred_cmpsize);
    std::copy(vec.begin(),vec.end(),std::ostream_iterator<std::string>(std::cout," "));
}
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,049
Записей в блоге: 18
Завершенные тесты: 1
15.05.2013, 16:39     задан текст состоящий из слов. хотя бы начать с чего напишите) #11

Не по теме:

я б преподу такой код сам не сдал



Добавлено через 8 минут
Поясню код.

Цитата Сообщение от Croessmah Посмотреть сообщение

#include <iostream>
#include <algorithm>
#include <sstream>
#include <string>
#include <vector>
#include <iterator>

// функция, которая сравнивает две строки. Нужна для передачи в std::sort, чтобы она (sort) понимала, как сравнивать.
bool pred_cmpsize(const std::string & str1,const std::string & str2){
return str1.size()<str2.size();
}
int main(){
// вектор (массив) для хранения "слов"
std::vector<std::string> vec;
// "слово"
std::string str;
// вводим предложение
std::getline(std::cin,str);
// находим позицию точки (позицию конца предложения)
std::string::size_type pos=str.find_last_of(".");

// вот это я не совсем понял зачем
if(pos!=std::string::npos){
str.resize(pos);
}


std::stringstream ss(str);

// записываем вектор из "слов"
while(ss>>str)
vec.push_back(str);


// сортируем вектор, передавая в sort начало вектора, конец вектора и функцию сортировки
std::sort(vec.begin(),vec.end(),pred_cmpsize);

// печатаем вектор
std::copy(vec.begin(),vec.end(),std::ostream_iterator<std::string>(std::cout," "));

Croessmah, А это зачем?


C++
1
2
3
 if(pos!=std::string::npos){
 str.resize(pos);
 }
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
15.05.2013, 16:49     задан текст состоящий из слов. хотя бы начать с чего напишите) #12
Цитата Сообщение от chizz Посмотреть сообщение
А это зачем?
Цитата Сообщение от Туся111 Посмотреть сообщение
Задан текст, состоящий из слов, записанных через запятые и/или пробел, и заканчивающийся точкой.
Ищем точку и отсекаем все что после нее перед помещением строки в строковый поток.
В данном случае у меня ищется последняя точка, лучше бы переделать на поиск первой(но мне лень было)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2013, 08:38     задан текст состоящий из слов. хотя бы начать с чего напишите)
Еще ссылки по теме:

C++ Дан текст, состоящий не менее чем из пяти слов. Сформировать стек из тех слов, в которых присутствует буква "Е"
C++ Дан текст, состоящий не менее чем из пяти слов
C++ Задан массив,состоящий из n элементов.Подсчитать число членов,принадлежащих отрезку[a,b].

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

Или воспользуйтесь поиском по форуму:
Туся111
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 43
20.05.2013, 08:38  [ТС]     задан текст состоящий из слов. хотя бы начать с чего напишите) #13
Croessmah, я не понимаю этот код, мы так не писали не разу, мне надо через int, cout и так далее а это для меня просто набор символов даже нет смысла разбираться)
Yandex
Объявления
20.05.2013, 08:38     задан текст состоящий из слов. хотя бы начать с чего напишите)
Ответ Создать тему
Опции темы

Текущее время: 02:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru