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

Самое длинное слово и его позиция - C++

Восстановить пароль Регистрация
 
xitryuga
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 52
14.03.2014, 21:19     Самое длинное слово и его позиция #1
День добрый. Помогите, пожалуйста...
Задача: найти самое длинное слово из строки и его позицию (номер слова в строке).

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

Код:
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
#include <iostream>
#include "conio.h"
#include "stdio.h"
#include "locale.h"
#include <string>
 
using namespace std;
 
int main(){
 
    setlocale(0,"russian");
    int i=0;
    int mlen = 0;
    char *ch = new char[100];
 
    cout << "Введите строку:\n";
    gets(ch);
 
    char *x[100] = {0}; 
    
    char *fs = strtok (ch," "),  *word = 0 ;
    int len = strlen(ps);
 
    while (fs != NULL) {                            // нахождение самого длинного слова
 
                        len = strlen(fs);
                        if (mlen < len ) {
                                                mlen = len;
                                                word = fs;
 
                        }
          fs = strtok (NULL, " ");
 
    }
 
    cout << "Слово максимальной длинны " << word;
 
    char *fs1 = strtok(ch, " ");
 
    while(fs1!=NULL)
        {
            x[i] = p;
            i++;
            fs1 = strtok(NULL, " ");
        }
 
        i = 0;
        cout << endl << endl << "Massiv sostoit iz:\n";
        while(x[i] != 0)
        {
            cout << x[i++] << "\n";
        }
 
    return 0;
}
буду благодарен за помощь
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2014, 21:19     Самое длинное слово и его позиция
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Voroshek
6 / 6 / 1
Регистрация: 22.08.2011
Сообщений: 75
14.03.2014, 22:58     Самое длинное слово и его позиция #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Здоров, недавно дочитал учебник до stringstream и теперь сую его куда надо и куда не надо.
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
#include <sstream>
#include <cstring>
#include <iostream>
 
using std::string;
using std::stringstream;
using std::cout;
using std::endl;
 
int main()
{
    // строку я задал готовую ;-)
    string s = "Sorok tysach obezian v dupu sunuli banan";
    stringstream ss(s);
    int x = 1; // здесь храним номер последнего наибольшего слова
    int y = 1; // здесь будем их считать
    string word= ""; // а здесь само слово
    size_t len = 0; // и его длина
    while (!ss.eof())
    {
        string tmp_word;
        ss >> tmp_word;
        size_t new_len = strlen(tmp_word.c_str());
        if (new_len>len)
        {
            x = y;
            word = tmp_word;
            len = new_len;
        }
        y++;
    }
    cout << word << ' ' << x << endl;
    return 0;
}
Этот код не проверяет, например, есть ли два слова одинаково большие и т.д., но ведь вопрос был не в этом.
xitryuga
0 / 0 / 0
Регистрация: 13.10.2013
Сообщений: 52
14.03.2014, 23:20  [ТС]     Самое длинное слово и его позиция #3
Спасибо большое! Работает!
Yandex
Объявления
14.03.2014, 23:20     Самое длинное слово и его позиция
Ответ Создать тему
Опции темы

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