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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Какой контейнер для чего использовать? http://www.cyberforum.ru/cpp-beginners/thread126438.html
для чего какой контейнер эффективней использовать? vector- list- map- set- queue- stack-
C++ Не срабатывает условие. Почему? #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv) { char p; char command; http://www.cyberforum.ru/cpp-beginners/thread126436.html
Работа с ГРАФИКОЙ C++
ПАМАГИТЕ ОЧ НАДО
Рекурсия,возвращающая значение C++
Разработать рекурсивную функцию, возвращающую значение для перевода числа из десятичной системы счисления в двоичную.И если не трудно,закоментите плз.
C++ функции замени в строке http://www.cyberforum.ru/cpp-beginners/thread126413.html
сори я трохи тупуват ви мо пидсказать мне з чево мне начать функция заменяет в строке одну заданную комбинацию символов другой заданной комбинацией помогите плиз
C++ Cкачиванием файла по протоколу HTTP Вот нашел данный код предназначенный для скачивание файлов по протоколу HTTP BOOL GetURLPageAndStoreToDisk(LPSTR pURLPage, LPSTR pOutputFile) { HINTERNET hSession; HINTERNET hURL; char cBuffer; BOOL bResult; DWORD dwBytesRead; HANDLE hOutputFile; подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
07.05.2010, 13:51
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//MS VS
//Рациональное число можно представить записью с двумя полями: 
//числитель и знаменатель. Дан массив из N рациональных чисел. 
//Разработать функцию для нахождения максимального среди них. 
 
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
 
struct T_rational_num
{
    int chisl;
    int znam;
};
 
typedef std::vector<T_rational_num> T_rat_nums;
 
bool operator<(T_rational_num  l, T_rational_num  r)
{
    return l.chisl * r.znam < l.znam * r.chisl;
}
 
std::ostream& operator<<(std::ostream& os, const T_rational_num& rn)
{
    os << rn.chisl << '/' << rn.znam;
    return os;
}
 
T_rational_num  get_max_rat_num(T_rat_nums  rns)
{
    return *std::max_element(rns.begin(), rns.end());
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    unsigned        count;
    T_rational_num  cur_rat_num;
    T_rat_nums      rat_nums;
    for(;;)
    {
        rat_nums.clear();
        do
        {
            std::cout << "Input num count from [1, 10]: ";
            std::cin >> count;
        }while(count < 1 || count > 10);
 
        for(int i = 0; i < count; ++i)
        {
            std::cout << std::endl                      
                      << "Input chisl["
                      << i + 1
                      << "]: ";
            std::cin >> cur_rat_num.chisl;
 
            std::cout << "Input  znam["
                      << i + 1
                      << "]: ";
            std::cin >> cur_rat_num.znam;            
            rat_nums.push_back(cur_rat_num);        
        }
 
        std::cout << std::endl                  
                  << "Rational nums: "; 
        for(int i = 0; i < count; ++i)
        {
            std::cout << rat_nums[i] << ' ';
        }
        std::cout << std::endl
                  << "Max rational num: "
                  << get_max_rat_num(rat_nums)
                  << std::endl
                  << std::endl
                  << std::endl;                
    }
    return 0;
}
Добавлено через 31 минуту
Задача № 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
49
50
51
52
53
54
//MS VS
//Дан текст, состоящий не менее чем из пяти слов. Сформировать строку, 
//в которую попадут только те слова, где одинаковые буквы встречаются более двух раз. 
//Например, молоко.
 
#include "stdafx.h"
#include <iostream>
#include <string>
#include <cstdio>
#include <sstream>
#include <algorithm>
 
bool correct_word(std::string word)
{
    for(size_t i = 0; i < word.length(); ++i)
    {
        size_t symb_count = std::count(word.begin(), word.end(), word[i]);
        if(symb_count > 2) return true;
    }
    return false;
}
 
std::string transform_text(std::string txt)
{
    std::string res_str;
    std::istringstream text_instream(txt);
    std::string cur_word;
 
    while(text_instream >> cur_word)
    {
        if(correct_word(cur_word))
        {
            res_str += (' ' + cur_word);
        }        
    }   
    return res_str;
}
 
int _tmain(int argc, _TCHAR* argv[])
{    
    std::string text;
    
    for(;;)
    {
        std::cout << "Input text: ";
        getline(std::cin, text);
        std::cout << "Transformed text:"
                  << transform_text(text)
                  << std::endl
                  << std::endl
                  << std::endl;
    }
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru