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

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

Войти
Регистрация
Восстановить пароль
 
Vitek4
16 / 16 / 0
Регистрация: 16.04.2010
Сообщений: 162
#1

Максимальное слово - C++

30.01.2014, 17:07. Просмотров 268. Ответов 4
Метки нет (Все метки)

В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-, найти слово максимальной длины;
Программа должна обрабатывать любое количество вариантов данных.
Добрый вечер помогите пожалуйста решить эту задачу. Очень срочно нужно.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2014, 17:07     Максимальное слово
Посмотрите здесь:

Максимальное слово в строке - C++
Всем привет! Не получается вывести максимальное слово в строке. Функцию strtok использовать нельзя! #include "stdafx.h" #include...

Найти максимальное слово в строке - C++
Программа правильно определяет длину слов, но почему-то она проверяет только первое слово, но дальше по строке не идет. Причем, если убрать...

Считать из файла и поменять местами максимальное и минимальное слово - C++
помогите дописать задачу...нужно считать из файли и поменять местами максимальное и минимальное слово...я поменять не могу... вот мой код ...

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

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

В тексте заменить слово А(любое слово) на слово В(любое слово). А и В разной длинны - C++
Не могу сообразить как написать программу: Пользователь вводит текст Необходимо замениь слово А(любое слово) на слово В(любое...

Программа, удаляющее последнее слово, выводит первое слово. Что не так? - C++
#include <iostream> using namespace std; int main() { char s; int i = 0; cout << "stroka: "; cin >> s; for(i =...

Дана строка, заменить слово min на слово max - C++
#include <stdio.h> int main() { int n = 81; char str; int i; gets(str);

Заменить выбранное вами слово на другое слово - C++
Здравствуйте! Прошу помочь разобраться с ошибками. #include <iostream> #include <string> #include <string.h> using namespace...

В тексте заменить слово «Петя» на слово «Игорь» - C++
Если в строке содержится слово «Петя», заменить его на слово «Игорь». Не используя replace и string.


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
maria_
5 / 5 / 1
Регистрация: 25.08.2013
Сообщений: 67
30.01.2014, 17:33     Максимальное слово #2
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
#include<iostream>
 
using namespace std;
 
int main()
{
  int maxlen = 0;
  char* result;
  char* maxresult;
  result = (char*)malloc(100*sizeof(char));
  maxresult = (char*)malloc(100*sizeof(char));
  int len = 0;
  char c= ' ';
  while ('\n' != c)
  {
    c = getchar();
    if ( ( ' ' != c ) && ( '\n' != c ) )
    {
      result[len] = c;
      ++len;
    }
    else
    {
      if(maxlen < len)
      {
        maxlen = len;
        for (int j=0; j < len; ++j)
        {
          maxresult[j] = result[j];
        }
      }
      len = 0;
    }
  }
  for (int i = 0; i < maxlen; ++i )
  {
    cout << maxresult[i];
  }
  cout << endl;
  return 0;
}
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
30.01.2014, 17: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
#include <stdio.h>
#include <string.h>
 
char *getMaxWord(char *string, const char *delims)
{
    char *pWord = strtok(string, delims);
    if (pWord) {
        char *pOtherWord = getMaxWord(0, delims);
        if (pOtherWord && strlen(pOtherWord) > strlen(pWord))
            pWord = pOtherWord;
    }
    return pWord;
}
 
int main()
{
    const char *delims = " .,;?!:[]";
    char string[128];
    gets(string);
    printf("Word with max len: %s\n", getMaxWord(string, delims));
    return 0;
}
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
30.01.2014, 17:48     Максимальное слово #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <sstream>
 
int main()
{
    std::string st, tmp_word, max_word;
    std::cout << "enter string: ";
    getline(std::cin, st);
    std::istringstream ist(st);
    while (ist >> tmp_word)
    {
        if (tmp_word.size() >= max_word.size())
            max_word = tmp_word;
    }
    std::cout << max_word << std::endl;;
    system("pause");
}
Vitek4
16 / 16 / 0
Регистрация: 16.04.2010
Сообщений: 162
30.01.2014, 17:55  [ТС]     Максимальное слово #5
Всем спасибо но уже разобрался малость. И с вою написал.
Yandex
Объявления
30.01.2014, 17:55     Максимальное слово
Ответ Создать тему
Опции темы

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