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

Задача по Олимпиаде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать количество локальных минимумов заданной матрицы (код и блок-схема) http://www.cyberforum.ru/cpp-beginners/thread680327.html
Здравствуйте! Помогите пожалуйста, справиться с заданием. Задание: Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей. Подсчитать количество локальных минимумов заданной матрицы размером 10х10. Требуется составить алгоритм в виде блок-схемы и программу решения задачи на языке программирования С++.
C++ Сортировка массива Нужно поставить числа от наименьшего к наибольшему # include <iostream> using namespace std; void main () {int i=0; int p; // цикл for (i=0;i<4;i++) {cin>>p;}; http://www.cyberforum.ru/cpp-beginners/thread680293.html
C++ Регулярные выражения
Составить регулярное выражение, пропускающее строки, содержащие хотя бы по разу каждую из трех первых букв вашей фамилии(Например, фамилия Иванов). Буквы могут встречаться в строке в любом порядке. Регистр не имеет значения, то есть входная строка может содержать большие и маленькие буквы, но выражение не должно их различать.
C++ Найти частичную сумму ряда
Очень нужна помощь!! Дан ряд 1 - ((п/2)^2)/3! + ((п/2)^4)/5! - ((п/2)^6)/7! +... Найти частичную сумму ряда. Ряд сходите к значению (sinx)/x при x=п/2. -> 0,636 619 7. Составить программу, используя c++.
C++ Числа Фибоначчи! http://www.cyberforum.ru/cpp-beginners/thread680271.html
Помогите написать вот такую ​​программу: Заданная последовательность n действительных чисел. Вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи. Спасибо всем!) Добавлено через 45 минут Я здесь несколько набросал, это определение чисел Фибоначчи в массиве, а как вычислить сумму чисел, порядковые номера которых являются числами Фибоначчи. #include <iostream> const...
C++ Переход между функциями Как в C++ возможно осуществить переход между функциями ? goto не помогает :( Для примера : void funct1() { } void funct2() { подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
3042 / 1687 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
25.10.2012, 20:26     Задача по Олимпиаде
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//////////////////////////////////////////////////////////////////////////////////////////////
#include <cstdlib>
#include <iostream>
#include <sstream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
//////////////////////////////////////////////////////////////////////////////////////////////
bool  successfully_get_val_from_str_with_base
    (
        const T_str&    s,
        int             base,
        int&            val
    )
{
    char    *end    =   0;
    val             =   strtol
                            ( 
                                s.c_str(), 
                                &end, 
                                base 
                            );
 
    return      !s.empty()
            &&  *end    ==  0;
}
//////////////////////////////////////////////////////////////////////////////////////////////
int  get_min_base
    ( 
        const T_str&    L,
        const T_str&    R,
        const T_str&    SUM
    )
{
    const int   EMPTY_BASE  =   -1;
    const int   BASE_MIN    =   2;
    const int   BASE_MAX    =   36;
 
    int     val_L       =   0;
    int     val_R       =   0;
    int     val_SUM     =   0;
 
    for(int  base = BASE_MIN; base <= BASE_MAX; ++base)
    {
        if  (
                    successfully_get_val_from_str_with_base ( L,    base,   val_L       )
                &&  successfully_get_val_from_str_with_base ( R,    base,   val_R       )
                &&  successfully_get_val_from_str_with_base ( SUM,  base,   val_SUM     )
 
                &&  val_L + val_R == val_SUM
            )
        {
            return  base;
        }
    }
    return  EMPTY_BASE;
}
//////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
 
    for(;;)
    {
        T_str   A;
        T_str   B;
        T_str   C;
 
        char    c   =   0;
        
        bool    str_is_correct    =   false;
 
        do
        {
            std::cout   <<  "Введите два слагаемые и сумму в некоторой системе счисления в одной строке:"
                        <<  std::endl;
            T_str   s;
 
            getline
                (
                    std::cin,
                    s
                );
 
            std::istringstream  ssin(s);
 
            ssin    >>  A;
            ssin    >>  B;
            ssin    >>  C;
            str_is_correct    =         !A.empty()
                                    &&  !B.empty()
                                    &&  !C.empty()
                                    &&  (ssin    >>  c)     ==  0;
        }while  ( !str_is_correct );
 
        std::cout   <<  get_min_base( A, B, C )
                    <<  std::endl
                    <<  std::endl
                    <<  std::endl;
    }//for
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru