Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 28.09.2015
Сообщений: 9
1

Вывести порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается

01.10.2015, 21:19. Показов 3967. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как вывести на экран порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.10.2015, 21:19
Ответы с готовыми решениями:

Вывести на экран порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается
и так, вот условие: дана строка символов, состоящая из произвольного текста, слова разделены...

Найти порядковый номер слова максимальной длины в строке и номер позиции, с которой оно начинается
помогите пожалуйста с программой( среда Visual C ) Дана строка символов, состоящая из...

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

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

2
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
01.10.2015, 21:43 2
Раздели на слова сначала.
0
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
02.10.2015, 12:38 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
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <cctype>
 
const char* max_word(const char* s, const char*& e, int& n){
    int k, l, i;
    const char* p, *m, *t = s;
 
    m = NULL;
    i = 1;
    for(n = k = 0; *s; ++s){
        if(std::isalpha(*s) && ! std::isalpha(*(s + 1))){
            p = s - 1;
            while((p >= t) && std::isalpha(*p))
                --p;
            ++p;
            l = (int)(s - p);
            if(l > k){
                k = l;
                n = i;
                m = p;
                e = s + 1;
            }
            ++i;
        }
    }
    return m;
}
 
int main(void){
    char s[] = "begin: saturn,  [jupiter], neptun, uran.";
 
    int n;
    const char* e;
    const char* w = max_word(s, e, n);
    if(w != NULL){
        std::cout << "word:   ";
        std::cout.write(w, (int)(e - w));
        std::cout << std::endl;
 
        std::cout << "index:  " << (size_t)(w - s) << std::endl;
        std::cout << "number: " << n << std::endl;
        std::cout << "substr: " << w << std::endl;
    }
    return 0;
}
Пример работы кода
0
02.10.2015, 12:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2015, 12:38
Помогаю со студенческими работами здесь

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

Вывести на экран порядковый номер слова максимальной длины
Задание: Дана строка символов состоящая из произвольного текста на английском языке слова...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru