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

Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
Natasall
2 / 2 / 0
Регистрация: 05.03.2011
Сообщений: 73
15.05.2011, 16:25     Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. #1
1. Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова.
2. 14.14. Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.
как эт сделать через принтф
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 16:25     Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова.
Посмотрите здесь:

Дана строка содержащая текст. Найти длину самого короткого и самого длинного слова. C++
C++ Найти длину самого короткого слова и самого длинного слова в строке
Найти длину самого короткого и самого длинного слова. C++
C++ Дана строка, содержащая текст. Найти длину самого короткого слова.
Строки (Найти длину самого короткого и самого длинного слова, а также сами эти слова) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
magirus
15.05.2011, 16:31
  #2
 Комментарий модератора 
называйте темы максимально информативно
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.05.2011, 17:08     Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. #3
Цитата Сообщение от Natasall Посмотреть сообщение
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
#include <iostream>
#include <sstream>
#include <string>
#include <iterator>
#include <set>
 
int main(){
  std::string str;
  getline(std::cin, str);
  std::istringstream ist(str);
  struct cmp{
    bool operator() (const std::string &_1, const std::string &_2) const{
      return _1.length() < _2.length();
    }
  };
  std::istream_iterator<std::string> start(ist), finish;
  std::set<std::string, cmp> st( (start), finish );
  std::set<std::string, cmp>::iterator it = st.end();
  --it;
  std::cout << "\n\nMin = " << st.begin()->length()
            << "\nMax = " << it->length();
  return 0;
}
olleg90
 Аватар для olleg90
34 / 34 / 6
Регистрация: 06.01.2011
Сообщений: 90
15.05.2011, 17:09     Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstring>
#include <sstream>
 
using namespace std;
int main()
{
char str[256],temp[256];
cin.getline(str, 256);
int l=strlen(str),i,n=0,min_len,max_len;
istringstream ist(str);
ist>>temp;
min_len=max_len=strlen(temp);
while(ist>>temp)
{
if (strlen(temp)>max_len) max_len=strlen(temp);
if (strlen(temp)<min_len) min_len=strlen(temp);
}
cout<<max_len<<endl<<min_len<<endl;
system ("pause");
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
15.05.2011, 17:12     Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова. #5
Цитата Сообщение от Natasall Посмотреть сообщение
2. 14.14. Имеется строка, содержащая буквы латинского алфавита и цифры. Вывести на экран длину наибольшей последовательности цифр, идущих подряд.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <sstream>
#include <string>
#include <iterator>
#include <algorithm>
#include <functional>
#include <set>
 
int main(){
  std::string str;
  getline(std::cin, str);
  std::replace_if(str.begin(), str.end(), std::not1(std::ptr_fun(isdigit)), ' ');
  std::istringstream ist(str);
  struct cmp{
    bool operator() (const std::string &_1, const std::string &_2) const{
      return _1.length() > _2.length();
    }
  };
  std::istream_iterator<std::string> start(ist), finish;
  std::set<std::string, cmp> st( (start), finish );
  std::cout << *st.begin() << std::endl;
  return 0;
}
Yandex
Объявления
15.05.2011, 17:12     Дана строка, содержащая текст. Найти длину самого короткого и самого длинного слова.
Ответ Создать тему
Опции темы

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