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

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

Войти
Регистрация
Восстановить пароль
 
razqr
20 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 22
#1

Библиотека Обработки строк string.h - C++

30.01.2014, 14:12. Просмотров 1041. Ответов 7
Метки нет (Все метки)

Задание таково: Разработайте программу работы со строками. Организуйте ввод исходных данных с клавиатуры. Используйте функции из библиотеки обработки строк string.h. Результаты работы программы отобразите на экране.
Дана строка произвольной длины. Группы символов, разделенные пробелами (одним или несколькими), будем называть словами. Количество слов в строке а также самое длинное слово если это несколько слов имеют максимальную длину то возьмите первое из них.
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
#include "stdafx.h"
#include <iostream>
#include <iterator>
#include <vector>
#include <string>
#include <algorithm>
     
int main() 
{
    std::vector<std::string> result;
     
    std::istream_iterator<std::string> iit(std::cin);
     
    while( iit != std::istream_iterator<std::string>() )
    {
        if( result.empty() )
        {
            result.push_back( *iit );
        }
        else
        {
            size_t newLen = iit->length();
            size_t oldLen = result[0].length();
     
            if( newLen >= oldLen )
            {
                if( newLen > oldLen )
                {
                    result.clear();
                }
                result.push_back( *iit );
            }
        }
        ++iit;
    }
     
    if( !result.empty() )
    {
        std::cout << "max length: " << result[0].length() << std::endl;
    }
     
    for (auto& s : result)
    {
        std::cout << s << std::endl;
 
        return 0;
 
        system("pause");
 
 
    }
Можете меня поправить где я ошибся??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 14:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Библиотека Обработки строк string.h (C++):

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции - C++
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может - не оставьте меня в беде))) Вот задания: 3. Создать...

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

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

Библиотека String - C++
Чем плох String? Когда его не стоит использовать?

Строки библиотека string.h - C++
Дана строка символов, состоящая из букв и цифр. Найти количество букв в данной строке. Использовать функции библиотеки string.h

считывание строки( библиотека string) - C++
задача в том чтоб считать сообщение с клавиатуры полностью(русские буквы пробелы знаки всякие). Пытался сделать с помощью string, не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
30.01.2014, 14:14 #2
Можете меня поправить где я ошибся??
Это ребус ?
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
30.01.2014, 14:21 #3
Цитата Сообщение от razqr Посмотреть сообщение
Используйте функции из библиотеки обработки строк string.h.
Для начала, можно сказать то, что вы не используете функции из string.h.
string, и string.h это не одно и тоже. в string реализован класс string библиотеки STL, а в string.h функции для работы со стандартными сишными строками (массивами символов) типа strlen, strcat, strcmp и т.д.
razqr
20 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 22
30.01.2014, 19:16  [ТС] #4
Значит просто переписать код с использованием string.h?
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
30.01.2014, 19:22 #5
razqr, http://www.cplusplus.com/reference/cstring/

Вот вам функции из string.h. Строки представлять как массив символов.
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
30.01.2014, 19:33 #6
kventin_zhuk, нет, не надо никакого класса писать. Решить задачу надо по нахождению самого длинного слова в строке! Strtok и strlen в помощь.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
31.01.2014, 17:49 #7
Цитата Сообщение от razqr Посмотреть сообщение
Значит просто переписать код с использованием string.h?
да)
razqr
20 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 22
01.02.2014, 12:41  [ТС] #8
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
#include "stdafx.h"
#include <iostream>
#include <string.h>
#include <conio.h>
#include <locale.h>
using namespace std;
int main()
{
    system("chcp 1251");
    char string [100];
    char *tokenPtr;
    cout<<endl;
    cout<<"Введите строку "<<endl;
    cin.getline(string,100);
    cout<<endl;
    cout<<"Строка, разбиваемая на лексемы"<<endl<<endl<<""<<string<<endl<<endl<<""<<"Лексемы:"<<endl;
    tokenPtr=strtok(string, " ");
    while (tokenPtr!= NULL)
    {
        cout<<tokenPtr<<endl;
        tokenPtr=strtok(NULL," ");
    }
    char * pch = strtok (string," "),  
         * word = 0;
    int length = strlen(pch);          
    int maxLen = 0; 
    while (pch != NULL)                         
      {
          length = strlen(pch);        
 
          if (maxLen < length )        
          {
              maxLen = length;
              word = pch;              
          }
 
          pch = strtok (NULL, " "); 
      }
       cout << "Самое длинное слово: " << word
           << " , его длина равна: " << maxLen
           << " символам " << endl;
    system("pause");
    return 0;
Вроде получилось ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2014, 12:41
Привет! Вот еще темы с ответами:

Библиотека string.h, функция strcat - C++
Написал вот такое, но в программе все равно текст не выводит. Должно работать точно также, как и обычная библиотека strcat. char *...

Библиотека для удобной работы с типом string с++ - C++
Привет, надо проводить много манипуляций со строками - обрезка, перенос строки, выравнивание - для интерфейса 3D-игры. Есть ли готовая...

Функция обработки строк - C++
Нобходимро написать программку функция main() которой содержит вызов функции strlwr char *strlwr( char *s); и вызов пользовательской...

Алгоритм обработки вектора строк - C++
Доброго времени суток, помогите с алгоритмом сортировки. Что требуется: имеется вектор строк (word), передающийся в функцию. Из него нужно...


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

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

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