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

Найти два наибольших числа из всех введенных, при условии что цифры не повторяются - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск слова в предложении http://www.cyberforum.ru/cpp-beginners/thread104983.html
Помогите, пожалуйста! Мне нужно реализовать функцию поиска слова в предложении и подсчета, сколько раз слово встречается в предложении (на С++)
C++ объектное C++ Помогите пожалуйста с программой по объектному C++! Я вижу тут много умных людей и думаю вам не составит особого труда…=)буду ОЧЕНЬ признательна если кто нибудь поможет с программой! Разработайте... http://www.cyberforum.ru/cpp-beginners/thread104977.html
уравнение нахождения произведения главной диагонали в матрице C++
Помогите плизз написать уравнение нахождения произведения главной диагонали в матрице (нужна общяя формула для лубого вида матриц (NxM && NxN)) для си++. Добавлено через 3 минуты вот прога ...
C++ Количество всех различных представлений числа
известно что любое натуральное число N(0<N<=1000) может быть представлено в виде суммы квадратов не более 4-ех положительных целых чисел.Написать программу, которая на ввод числа N, выводит...
C++ перевисти на С http://www.cyberforum.ru/cpp-beginners/thread104951.html
Здраствуйте! помогите перевисти програму с паскаля! flag:=((sqr(-1.3)+sqr(0.4)>16 and (-1.3)>4 and(0.4)>4: Flag:=((sqr(x)+sqr(y)>16 and(x<4)or(x>-4) and(y<4) or (y>-4)): write(' tochka z...
C++ Производитель - потребитель. Синхронизация. Семафоры Добрый вечер, комьюнити. На днях получил задание: Синхронизация. Семафоры 1. Создать класс CriricalSection - критическая секция, с методами Enter и Leave, реализующими взаимное исключение с... подробнее

Показать сообщение отдельно
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
09.10.2011, 16:00
Thinker, благодаря вашему замечанию, я пришел к мысли, что мой код не ищет максимумы, если все числа, к примеру отрицательные

немного подредактировал свой код

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
#include <iostream>
#include <limits>
 
int lowmax( int );
 
int main()
{
    int counter = 1;
    int number;
    int min, min2, max;
    int temp;
 
    while(counter <= 10)
    {
            std::cout << "Введите число: ";
            std::cin >> number;
 
        if(counter == 1)
            max = number;
 
        temp = max;
 
        if(number > max)
        {
            max = number;
            if(temp != max)
                min = temp;
        }
        else if(number < max)
            min2 = lowmax(number);
 
        counter++;
    }
 
    if(max < 0)
        min = min2;
    else if(max > 0 && min2 > min)
        min = min2;
 
    std::cout << "max: " << max << std::endl;
    std::cout << "min: " << min << std::endl;
 
    return 0;
}
 
int lowmax( int min )
{
    static int plusTemp = 0, minusTemp = std::numeric_limits< int >::min();
    static int plusReturnMin = 0, minusReturnMin = 0;
    static int ptemp = 0;
    static int mtemp = std::numeric_limits< int >::min();
    static int returnMin;
 
    if(min > 0)
    {
        if(plusTemp < min)
        {
            if(ptemp < min)
            {
                    plusReturnMin = min;
                plusTemp = min;
            }
        }
 
    }
    else if( min < 0 )
    {
        if(minusTemp < min)
        {
            if(mtemp < min)
            {
                minusReturnMin = min;
                minusTemp = min;
            }
        }
    }
 
    mtemp = min;
    ptemp = min;
 
    if(plusReturnMin == 0 && minusReturnMin != std::numeric_limits< int >::min())
        returnMin = minusReturnMin;
    else if(minusReturnMin == std::numeric_limits< int >::min() && plusReturnMin != 0)
        returnMin = plusReturnMin;
    else if(minusReturnMin != std::numeric_limits< int >::min() && plusReturnMin != 0)
        returnMin = plusReturnMin;
 
    return returnMin;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru