Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Hunter9494
21 / 18 / 3
Регистрация: 29.10.2012
Сообщений: 153
#1

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

20.04.2014, 19:54. Просмотров 342. Ответов 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
//
 
#include "stdafx.h"
#include "iostream"
#include "string"
 
#include <cstring>
using namespace std;
 
int main()
{
 setlocale(LC_ALL,"Rus");
    char string[200];
 int n=1;
    cout << "Введите строку:\n";
    cin.getline(string,200);
 
    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;// сохраняем указатель на текущее слово
              n=1;
          }
          else if (maxLen==length)
              n++;
          
          pch = strtok (NULL, " ,.-"); // получаем следующее слово
      }
 if(n>=2)
     cout<<"Такого слово нет"<<endl;
 else
      cout << "Самое длинное слово: " << word
           << " , его длина равна: " << maxLen
           << " символам " << endl;
 system("pause");
    return 0;
}
а как найти слово которое начинается на определенную букву ?
хотел использовать функцию strncmp
вот здесь:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
      while (pch != NULL)                         // пока есть слова
      {
          length = strlen(pch);        // определяем длинну слова
          if(strncmp(pch,k,1)==0)
          if (maxLen < length )        // определяем самое длинное слово
          {
              maxLen = length;
              word = pch;// сохраняем указатель на текущее слово
              n=1;
          }
          else if (maxLen==length)
              n++;
          
          pch = strtok (NULL, " ,.-"); // получаем следующее слово
      }
но компилятор ругается
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2014, 19:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск слово с максимальной длиной которое начинается на определенную букву (C++):

Найти в строке любое слово, которое начинается на букву а и заканчивается на букву а - C++
Помогите: Дано рядок S. Найти любое слово которое начинаться на букву а и заканчивается на букву а. Если таких слов нет, то...

Слово которое начинается и заканчивается на одну и ту же букву - C++
Вводится буква, вводится слово и если в этом слове первая и последняя буква соответствует заданной - True иначе false

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

Поиск слова которое начинается и заканчивается на одну букву - C++
Дана строка. Найти в ней те слова, которые начинаются и оканчиваются одной и той же буквой. Язык С++

Определить, содержит ли последнее слово строки букву, с которой начинается первое слово - C++
2.) В динамической памяти размещена строка символов. Определить, содержит ли последнее слово строки букву, с которой начинается первое...

Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово? - C++
Даны два слова. Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово?

1
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
20.04.2014, 20:18 #2
Цитата Сообщение от Hunter9494 Посмотреть сообщение
Поиск слово с максимальной длиной которое начинается на определенную букву
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
#include <iostream>
#include <string>
#include<vector>
#include<algorithm>
#include<sstream>
int main()
{
    std::string str;
    std::getline(std::cin,str);
    char letter('A');
    std::vector <std::string> svec;
    std::stringstream s(str);
    for(std::string word; s>>word;)
        if(word[0] == letter)
            svec.push_back(word);
    if(svec.empty())
    {
        std::cout<<"No words!";
        return 0;
    }
    std::cout<<"\n"<<*std::max_element(svec.begin(),svec.end(),[] (std::string first,std::string second)
    {
        return first.length() < second.length() ;
    });
 
    return 0;
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2014, 20:18
Привет! Вот еще темы с ответами:

Даны два слова.Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово - C++
Даны два слова.Верно ли, что первое слово начинается на ту же букву, на которую заканчивается второе слово.

Вывод слова из строки, которое начинается и заканчивается на одну и ту же букву - C++
для заданной строки вывести на экран слова, которые начинаются и заканчиваются на одну и ту же букву сделайте без printf, а с cout и...

Даны два слова.Верно ли,что первое слово начинается на ту же букву,на которую заканчивается второе слово (работа с символами строки) - C++
2)Даны два слова.Верно ли,что первое слово начинается на ту же букву,на которую заканчивается второе слово (работа с символами строки)

Строки: вывести определенную букву или слово и их количество - C++
Помогите написать программу, которая из символьной последовательности выводит определенную букву или слово и их количество. У меня...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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