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

Найти номер наименьшего положительного числа в заданной последовательности. Если в ней отсутствуют положительные числа, ответом должно быть -1 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как можно вычитать адреса? http://www.cyberforum.ru/cpp-beginners/thread1061637.html
Доброго времени суток. Есть такой код,где используется алгоритм find() библиотеки STL. Данная функция возвращает адрес эл-та. Вопрос возник о строчке,которую я выделил. Зачем мы из адреса эл-та...
C++ Сложение без сложения Напишите рекурсивную функцию sum(a, b), возвращающую сумму двух целых неотрицательных чисел. Из всех арифметических операций допускаются только +1 и -1. Также нельзя использовать циклы. Я совсем... http://www.cyberforum.ru/cpp-beginners/thread1061634.html
C++ Поиск максимального числа среди введённых чисел. Проверить код
Он должен делать следующее: пользователь вводит число, если оно меньше 8 то считается мат. выражения, если больше то поиск максимального числа среди введённых доданных чисел, отрицательное число...
C++ Рисунок Graphics используя WinBGI
Подскажите, пожалуйста, как из вот этого вот: #include <graphics.h> #include <math.h> #include <stdlib.h> #include <ctype.h> #include <conio.h> void exit(); int APIENTRY...
C++ Определить функцию для суммы комплексных чисел http://www.cyberforum.ru/cpp-beginners/thread1061525.html
Определить функцию для суммы комплексных чисел. Функция должны возвращать новое комплексное число, содержащее результат операции. Программу написал, только не выходить реализовать в функции....
C++ Логический калькулятор Написал калькулятор логических выражений, но не могу добавить функцию приоритета, со скобками все работает замечательно, но без них действия | и & имеют одинаковый приоритет, кто может помочь с... подробнее

Показать сообщение отдельно
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
02.01.2014, 03:04
Anwer,

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
#include<iostream>
#include<math.h>
 
using namespace std;
int main ()
{
    setlocale(0, "rus");
    int n;
    cout << "Введите количество елементов: ";
    cin >> n;
    double a [100];
    double min = 0, max = 0;
    for (int i = 0; i < n; i++)
    {
        cout << "Введите а["<< i+1 <<"]: ";
        cin >> a[i];
    }
 
    for (int i = 0; i < n; i++)
    {
        if ((a[i] < min || min == 0) && a[i] > 0)
        {
            min = a[i];
        }
    }
    max = a[0];
    for (int i = 0; i < n; i++)
    {
        if (a[i] > max)
        {
            max = a[i];
        }
    }
 
    if (min != 0)
        cout << "Найменьшее положительное числo: " << min << endl;
    else
        cout << "Найменьшее положительное числo:  -1" << endl;
 
     while (max <= 0)
     {
        cout << "Ответ: -1" << endl;
        break;
     }
    system("pause");
    return 0;
}
Изначально инициализируем значением 0 min

В цикле делаем условие

C++
1
if ((a[i] < min || min == 0) && a[i] > 0)
Если i-ый элемент массива меньше минимального значения или минимальное значение == 0 (изначально) и одновременно i-ый элемент массива положительный - задаем новое значение минимума.

А дальше смотрим - если после цикла было задано какое-нибудь значение минимуму - значит минимум найден. Если значение переменной осталось == 0 - значит не было положительных элементов и выводим -1
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru