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

В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
awaylastdays
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 46
11.06.2014, 22:30     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #1
пожалуйста пожалуйста листинг оставил на компьютере в колледже поэтому кинуть свои наработки не могу

Условие:"введенному с клавиатуры одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов массива"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2014, 22:30     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов
Посмотрите здесь:

Ввести в память машины двумерный массив A(N,M). найти наибольший и наименьший элементы среди элементов главной диагонали. C++
C++ Найти наибольший среди отрицательных и наименьший среди положительных элементов массива
C++ Найти наибольший среди наименьших элементов строк и наименьший среди наибольших элементов строк
Дано три числа. Среди отрицательных найти четные, среди положительных - нечетные C++
В целочисленном массиве найти наибольший элемент среди элементов меньше своих соседей C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tehnar5
31 / 31 / 12
Регистрация: 03.05.2011
Сообщений: 84
11.06.2014, 23:26     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
int a[n];
... - вводим массив из n элементов
int Min = 1000000000, Max = -1000000000;
for (int i = 0; i < n; i++)
    if (a[i] < 0)
         Max = max(Max, a[i]);
    else if (a[i] > 0)
         Min = min(Min, a[i]);
printf("%d %d\n", Max, Min);
AndrewLoL
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 29
12.06.2014, 15:42     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #3
tehnar5, не работает код(
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 15:52     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #4
Цитата Сообщение от tehnar5 Посмотреть сообщение
int Min = 1000000000, Max = -1000000000;
Ничего себе изврат. А более гуманными способами?.. Давно такого не видела.

Добавлено через 44 секунды
Цитата Сообщение от AndrewLoL Посмотреть сообщение
tehnar5, не работает код(
А что не работает? Дайте угадаю - int main() не написали?))
AndrewLoL
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 29
12.06.2014, 15:55     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #5
Тамика, не работает int a[n];
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 15:57     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #6
Цитата Сообщение от AndrewLoL Посмотреть сообщение
Тамика, не работает int a[n];

Ладно.
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
#include <iostream>
 
 
int main()
{
    int max = INT_MIN;
    int min = INT_MAX;
 
    std::cout << "Enter count of elements : ";
    int n;
    std::cin >> n;
    int *mas = new int[n];
    for (int i = 0; i < n; ++i)
        std::cin >> mas[i];
 
    for (int i = 0; i < n; ++i)
    {
        if (mas[i] < 0) 
            if (mas[i] > max)  max = mas[i];
 
        if (mas[i] > 0) 
            if (mas[i] < min)  min = mas[i];
    }
 
    std::cout << "\nMin = " << min;
    std::cout << "\nMax = " << max;
    system("pause>>null");
}
Exzotick
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 25
12.06.2014, 16:30     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #7
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
#include <iostream>
using namespace std;
int main()
{
    const int n = 60;
    int arr[n];
    for (int i = 0; i < n; i++)
        arr[i] = rand() % 60 - 30;
    int max_neg=0, min_pos=0;
    for (int i = 0;; i++){
        if (arr[i] < 0){
            max_neg = arr[i];
            break;
        }
    }
    for (int i = 0;; i++){
        if (arr[i]>0){
            min_pos = arr[i];
            break;
        }
    }
    for (int i = 0; i < n; i++)
    {
        if (arr[i] < 0){
            if (arr[i] > max_neg)
                max_neg = arr[i];
        }
        else{
            if (arr[i]>0){
                if (arr[i] < min_pos)
                    min_pos = arr[i];
            }
        }
    }
    for (int i = 0; i < n; i++)
        cout << arr[i] << " ";
    if (min_pos == 0)
        cout << "\nПоложительных чисел нет";
    else
        cout << "\nmax_neg=" << max_neg;
    if (max_neg == 0)
        cout << "\nОтрицательных чисел нет";
    else
        cout<<"\nmin_pos=" << min_pos << endl;
    system("pause");
}
Опередили
AndrewLoL
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 29
12.06.2014, 16:53     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #8
Тамика, не правильно работает программа, не то выводит что нужно.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 17:04     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #9
Цитата Сообщение от AndrewLoL Посмотреть сообщение
Тамика, не правильно работает программа, не то выводит что нужно.
Странно, у меня всё правильно выводит. А что нужно?
AndrewLoL
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 29
12.06.2014, 17:09     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #10
Тамика, должно быть так, ты вводишь с клавиатуры допустим 4 числа. Например (2 -3 9 -1) и одно должно показать самое большое среди отрицательных то есть -1 и самое маленькое среди положительных то есть 2.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 17:14     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #11
Цитата Сообщение от AndrewLoL Посмотреть сообщение
Тамика, должно быть так, ты вводишь с клавиатуры допустим 4 числа. Например (2 -3 9 -1) и одно должно показать самое большое среди отрицательных то есть -1 и самое маленькое среди положительных то есть 2.
У меня так и выводит.
Уважаемый, а Вы прочитали сообщение от программы? Если Вы сразу пихаете массив программе, то конечно выведет не то, что нужно.
Сначала пишете количество элементов. Затем ентер... Запомнили? А потом вводим массив.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 17:17     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #12
Бум!
В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов
Exzotick
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 25
12.06.2014, 17:19     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #13
Тамика, возможно, автор ввел массив, в котором нет положительных или отрицательных элементов, и когда программа вывела страшное число, равное максимальному нижнему или верхнему значению типа Int, то испугался и подумал, что она работает неправильно.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 17:20     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #14
Цитата Сообщение от Exzotick Посмотреть сообщение
Тамика, возможно, автор ввел массив, в котором нет положительных или отрицательных элементов, и когда программа вывела страшное число, равное максимальному нижнему или верхнему значению типа Int, то испугался и подумал, что она работает неправильно.
Может и такое произойти.
Exzotick
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 25
12.06.2014, 17:23     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #15
awaylastdays, можете попробовать мой код. Там предусмотрен случай отсутствия в массиве элементов одного из знаков.
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 17:32     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #16
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Exzotick Посмотреть сообщение
awaylastdays, можете попробовать мой код. Там предусмотрен случай отсутствия в массиве элементов одного из знаков.
Уж ради Теслы.
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
#include <iostream>
  
int main()
{
    int max = INT_MIN;
    int min = INT_MAX;
 
    std::cout << "Enter count of elements : ";
    int n;
    std::cin >> n;
    int *mas = new int[n];
    for (int i = 0; i < n; ++i)
        std::cin >> mas[i];
 
    bool fl_min = false;
    bool fl_max = false;
 
    for (int i = 0; i < n; ++i)
    {
        if (mas[i] < 0)
            if (mas[i] > max)  
                {
                    max = mas[i];
                    fl_max = true;
                }
 
        if (mas[i] > 0) 
            if (mas[i] < min)  
            {
                min = mas[i];
                fl_min = true;
            }
    }
 
    if (fl_min)
        std::cout << "\nMin = " << min;
    else 
        std::cout << "\nNo positive elements";
 
    if (fl_max)
        std::cout << "\nMax = " << max;
    else
        std::cout << "\nNo negative elements!";
 
    system("pause>>null");
}
Да и не вижу в Вашем коде смысл проверки. Элементы же определены заранее. Зачем проверять?
Exzotick
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 25
12.06.2014, 17:40     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #17
Тамика, вы имеете ввиду, что заполнение производится случайными числами из диапазона, который заранее задан? Так это я просто чтоб написать быстрей. А автор значения ведь с клавиатуры будет вводить.
А что у вас за IDE? Вроде Visual Studio, но интерфейс какой-то другой.
AndrewLoL
0 / 0 / 0
Регистрация: 11.06.2014
Сообщений: 29
12.06.2014, 17:43     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #18
Тамика, спасибо начало работать я с компа зайду скину что у меня писало)
Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,538
Записей в блоге: 27
12.06.2014, 17:44     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #19
Цитата Сообщение от Exzotick Посмотреть сообщение
Тамика, вы имеете ввиду, что заполнение производится случайными числами из диапазона, который заранее задан? Так это я просто чтоб написать быстрей. А автор значения ведь с клавиатуры будет вводить.
Именно об этом и речь.
Хоть бы srand(...) уже б добавили... Одно и то же ж.

Добавлено через 29 секунд
Цитата Сообщение от AndrewLoL Посмотреть сообщение
Тамика, спасибо начало работать я с компа зайду скину что у меня писало)
Хорошо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.06.2014, 17:45     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов
Еще ссылки по теме:

Найти макс. элемент среди отрицательных и мин. элемент среди положительных элементов массива C++
Матрица с fstream. Найти максимум среди отрицательных и минимум среди положительных элементов C++
C++ Функция поиска в одномерном массиве: найти количество положительных и отрицательных элементов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Exzotick
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 25
12.06.2014, 17:45     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов #20
Я предполагал, что автор все равно переделает код для ввода с клавиатуры, поэтому не видел в этом смысла.
Yandex
Объявления
12.06.2014, 17:45     В одномерном массиве найти наибольший среди отрицательных и наименьший среди положительных элементов
Ответ Создать тему
Опции темы

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