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

Определить самое короткое слово в строке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Microsoft Visual Studio 2010 (rus)по настройке. http://www.cyberforum.ru/cpp-beginners/thread441285.html
Что это означает? http://***************/question/70790618/
C++ Написать функцию к программе Есть программа: #include<stdio.h> #include<iostream.h> #include<conio.h> #include<math.h> #include<stdlib.h> #include<string.h> int N; int MASP1() http://www.cyberforum.ru/cpp-beginners/thread441264.html
Сортировка одномерного массива C++
Массив из 10 целых чисел заполнить случайными числами от -5 до 5. Произвести сортировку массива. Вывести на экран исходный и отсортированный массивы. Сортировать по убыванию прямым выбором ...
Microsoft Visual Studio 2010 (rus) настройка unicod C++
Microsoft Visual Studio 2010. Не подскажите где в нстройках найти Unicod ? Чтобы после компиляции,отображались русские символы,а не каракули. Язык Си.
C++ Найти произведение елементов таблицы с парными элементами! http://www.cyberforum.ru/cpp-beginners/thread441246.html
Найти добуток елементов таблицы с парными элементами! Чесно говоря не могу понять,что знаит парные элементы,и вообще как их определить..Помогите.. мне всю програму..зараенее спасибо! если...
C++ Можно ли передать в функцию массив произвольного размера ? Хочу создать функцию для детекта количества элементов в массиве sizeof(array)/sizeof(array); и надо чтобы функция принимала произвольный размер массива как сделать такую функцию на с++ ? подробнее

Показать сообщение отдельно
Alex_Reilly
0 / 0 / 0
Регистрация: 04.12.2011
Сообщений: 26

Определить самое короткое слово в строке - C++

05.02.2012, 18:10. Просмотров 950. Ответов 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
string strr ;
   std::getline(ifs, strr);
            //Переменная типа string для хранения минимального слова
 string min_word = strr;
 //Переменная типа string для хранения текущего слова
 string word;
 
 //Выводим исходную строку
 cout << "Исходная строка:" << endl << strr << endl << endl;
 
 //Переменные для границ текущего слова
 string::size_type beg = 0;
 string::size_type end = 0;
 
 //Пока находим символы в строке следующие за пробелом отличные от пробела
 while((beg = strr.find_first_not_of(' ', end)) != string::npos) 
 {
 
  //Находим первый пробел за словом
  end = strr.find_first_of(' ', beg);
 
  //Если это конец строки
  if(end == string::npos)
   {//То присваиваем переменной end значение длины строки
   end = strr.length();
 
  //Извлекаем слово из строки
  word = strr.substr(beg, end - beg);
    }
 
  //Если длина текущего слова меньше минимального
  if(word.length() < min_word.length())
    {//Новое минимальное слово
    min_word = word;
    }
 }
 
 //Выводим результат работы
 cout << "Минимальное слово в строке:" << min_word << endl;
 cout << "Его длина: " << min_word.length() << endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru