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

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

Восстановить пароль Регистрация
 
razqr
20 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 22
30.01.2014, 14:12     Библиотека Обработки строк string.h #1
Задание таково: Разработайте программу работы со строками. Организуйте ввод исходных данных с клавиатуры. Используйте функции из библиотеки обработки строк 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");
 
 
    }
Можете меня поправить где я ошибся??
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
30.01.2014, 14:14     Библиотека Обработки строк string.h #2
Можете меня поправить где я ошибся??
Это ребус ?
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
30.01.2014, 14:21     Библиотека Обработки строк string.h #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  [ТС]     Библиотека Обработки строк string.h #4
Значит просто переписать код с использованием string.h?
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
214 / 154 / 15
Регистрация: 26.12.2012
Сообщений: 382
30.01.2014, 19:22     Библиотека Обработки строк string.h #5
razqr, http://www.cplusplus.com/reference/cstring/

Вот вам функции из string.h. Строки представлять как массив символов.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
30.01.2014, 19:33     Библиотека Обработки строк string.h #6
kventin_zhuk, нет, не надо никакого класса писать. Решить задачу надо по нахождению самого длинного слова в строке! Strtok и strlen в помощь.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
31.01.2014, 17:49     Библиотека Обработки строк string.h #7
Цитата Сообщение от razqr Посмотреть сообщение
Значит просто переписать код с использованием string.h?
да)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2014, 12:41     Библиотека Обработки строк string.h
Еще ссылки по теме:

C++ Использование функций обработки строк
считывание строки( библиотека string) C++
Библиотека string.h, функция strcat C++

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

Или воспользуйтесь поиском по форуму:
razqr
20 / 0 / 1
Регистрация: 24.04.2013
Сообщений: 22
01.02.2014, 12:41  [ТС]     Библиотека Обработки строк string.h #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;
Вроде получилось ))
Yandex
Объявления
01.02.2014, 12:41     Библиотека Обработки строк string.h
Ответ Создать тему
Опции темы

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