Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 25.01.2014
Сообщений: 6
1

Максимальное и минимальное число отдельно среди всех положительных/отрицательных чисел

29.01.2014, 09:15. Просмотров 2209. Ответов 7
Метки нет (Все метки)


Здравствуйте! Помогите пожалуйста нужно найти максимальное и минимальное число отдельно среди всех положительных чисел и отдельно среди всех отрицательных чисел.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2014, 09:15
Ответы с готовыми решениями:

Найти максимальное и минимальное число отдельно среди всех положительных чисел массива
Товарищи помогите!!!Найти максимальное и минимальное число отдельно среди всех положительных чисел...

Найти минимальное число среди положительных чисел и максимальное число среди отрицательных чисел
Никак не могу понять ,как написать эту программу.Помогите пожалуйста. Задан одномерный массив А...

Вывести минимальное среди положительных и максимальное среди отрицательных
Пользователь вводит числа заканчивая нулем. Вывести минимальное среди положительных и...

Нужно найти минимальное значение среди позитивных чисел и максимальное среди отрицательных.
Есть массив А, который вводится с клавиатуры. Нужно найти минимальное значение среди позитивных...

7
569 / 537 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
29.01.2014, 10:25 2
Fox_s,
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
#include<iostream>
#include<cstdlib>
#include<ctime>
int main()
{
    size_t arraySize;
    std::cout<<"Enter the size: ";
    std::cin>>arraySize;
    int *array = new int [arraySize];
    std::cout<<"\nArray: ";
    srand(time(NULL));
    int MaximalNegativeElement;
    for(size_t i=0;i<arraySize;i++){
        std::cout<<(array[i] = rand()%20-5)<<"  ";
        MaximalNegativeElement = (array[i]<0 )?array[i]:MaximalNegativeElement;
    }
    size_t MaximalPositiveElement(array[0]);
    for(size_t i=0;i<arraySize;i++)
    {
        MaximalPositiveElement = (array[i]>0 && array[i]>MaximalPositiveElement)?array[i]:MaximalPositiveElement;
        MaximalNegativeElement = (array[i]<0 && array[i]>MaximalNegativeElement)?array[i]:MaximalNegativeElement;
    }
    std::cout<<"\nMaximum positive elements: "<<MaximalPositiveElement;
    std::cout<<"\nMaximum negative elements: "<<MaximalNegativeElement;
}
0
zzzZZZ...
524 / 355 / 94
Регистрация: 11.09.2013
Сообщений: 2,040
29.01.2014, 10:25 3
найти где, под столом? почему вы не в состоянии даже нормально написать условия вашей задачи
0
Студент
54 / 54 / 38
Регистрация: 17.09.2012
Сообщений: 292
Записей в блоге: 2
29.01.2014, 10:41 4
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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <locale.h>
using namespace std;
#define n 8
 
int min(int *mas, int q)
{
    int min = mas[0];
    cout << "Min num >0: ";
        for(int i = 0; i < q; i++)
        {
            if(mas[i] > 0 && min > mas[i])
            min = mas[i];
        }
        cout << min;
        min = mas[0];
        cout << " Min num <0: ";
        for(int i = 0; i < q; i++)
        {
            if(mas[i] < 0 && min > mas[i])
            min = mas[i];
        }
        cout << min;
    return 0;
}
 
int max(int *mas, int q)
{
    int max = mas[0];
    cout << "Max num >0: ";
        for(int i = 0; i < q; i++)
        {
            if(mas[i] > 0 && max < mas[i])
            max = mas[i];
        }
        cout << max;
        max = -910;// числа в массиве могут быть максимум до -909
        cout << " Max num <0: ";
        for(int i = 0; i < q; i++)
        {
            if(mas[i] < 0 && max < mas[i])
            max = mas[i];
        }
        cout << max;
    return 0;
}
 
int main()
{
    int plus[n]={1,-4,-9,-369,8,648,-215,6};
    max(plus,n);
    cout << endl;
    min(plus,n);
    _getch();
    return 0;
}
0
569 / 537 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
29.01.2014, 11:02 5
Fox_s, Кое что подправил
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
#include<iostream>
#include<cstdlib>
#include<ctime>
int main()
{
    size_t arraySize;
    std::cout<<"Enter the size: ";
    std::cin>>arraySize;
    int *array = new int [arraySize];
    std::cout<<"\nArray: ";
    srand(time(NULL));
    int MaximalNegativeElement;
    bool FlagPositive(false),FlagNegative(false);
    for(size_t i=0; i<arraySize; i++)
    {
        std::cout<<(array[i] = rand()%20-10)<<"  ";
        if(array[i]>0)
            FlagPositive = true;
        if(array[i]<0)
            FlagNegative = true;
        MaximalNegativeElement = (array[i]<0 && FlagNegative)?array[i]:MaximalNegativeElement;
    }
    size_t MaximalPositiveElement(array[0]);
    for(size_t i=0; i<arraySize; i++)
    {
        MaximalPositiveElement = (array[i]>0 && array[i]>MaximalPositiveElement)?array[i]:MaximalPositiveElement;
        MaximalNegativeElement = (array[i]<0 && array[i]>MaximalNegativeElement)?array[i]:MaximalNegativeElement;
    }
    if(FlagPositive)
        std::cout<<"\nMaximum positive elements: "<<MaximalPositiveElement;
    if(FlagNegative)
        std::cout<<"\nMaximum negative elements: "<<MaximalNegativeElement;
}
Добавлено через 1 минуту
Цитата Сообщение от _include Посмотреть сообщение
max = -910;// числа в массиве могут быть максимум до -909
А если кому то захочется поменьше число?
0
Программист
307 / 182 / 176
Регистрация: 05.12.2013
Сообщений: 683
Записей в блоге: 5
29.01.2014, 11:40 6
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
#include <stdio.h> 
#include <stdlib.h>
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int n, *a;
    
    // вводим кол-во элементов массива
    printf("Введите кол-во элементов массива: ");
    scanf("%d",&n);
    
    // выделяем память под массив
    a=(int *)calloc(n, sizeof(int));
    
    // вводим элементы массива
    for(int i=0;i<n;i++){
        printf("A[%d] = ",i);
        scanf("%d",&a[i]);
    }
 
    // ищем максимумы и минимумы
    int pmax=-1,pmin=-1,nmax=-1,nmin=-1;
    for(int i=0;i<n;i++){
        if(a[i]<0){ // отрицательный
            if(nmin<0 || a[i]<a[nmin])
                nmin=i;
            if(nmax<0 || a[i]>a[nmax])
                nmax=i;
        }else{ // положительный    
            if(pmin<0 || a[i]<a[pmin])
                pmin=i;
            if(pmax<0 || a[i]>a[pmax])
                pmax=i;
        }
    }
 
    // выводим результат
    if(pmax>=0){
        printf("Макс среди положит.: %d\n",a[pmax]);
        printf("Мин среди положит.:  %d\n",a[pmin]);
    } else
        printf("Нет положительтных элементов\n");
    if(nmax>=0){
        printf("Макс среди отриц.:   %d\n",a[nmax]);
        printf("Мин среди отриц.:    %d\n",a[nmin]);
    } else
        printf("Нет отрицательных элементов\n");
 
    // освобождаем память от массива
    free(a);
 
    system("pause");
    return 0;
}
0
_include
29.01.2014, 13:54
  #7

Не по теме:

А если кому то захочется поменьше число?
Поменьше? Ну пожалуйста, пусть там будет другое число :)

0
2 / 2 / 2
Регистрация: 06.08.2013
Сообщений: 9
30.01.2014, 01:41 8
Полное решение для поиска и вывода максимума и минимума отдельно для положительных и отрицательных чисел
Кликните здесь для просмотра всего текста
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>
#include <vector>
#include <algorithm>
#include <ctime>
#include <iterator>
using namespace std;
 
enum { MIN_VAL = -100, MAX_VAL = 100 };
 
void FindMinMax (const vector <int>&);
 
void FindMinMax (const vector <int>& v)
{
    int i, maxPositive = 0, minPositive = 0, maxNegative = 0, minNegative = 0;
    for (int val : v) // для начала найдем всеобщий максимум и минимум
    {
        if (val > maxPositive && val > 0)
            maxPositive = val;
        if (val < minNegative && val < 0)
            minNegative = val;
    }
    minPositive = maxPositive; // зададим начальные значения для необходимого макс. и мин.
    maxNegative = minNegative;
    for (int val : v) // и найдем их
    {
        if (val < minPositive && val > 0)
            minPositive = val;
        if (val > maxNegative && val < 0)
            maxNegative = val;
    }
    cout << "maxPositive = "<< maxPositive << "\nminPositive = " << minPositive;
    cout << "\nmaxNegative = " << maxNegative << "\nminNegative = " << minNegative << "\n";
    return;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    vector <int> v (100); // в своём решении использовал 100 элементов
    srand (time (0));
    generate (v.begin(), v.end(), [](void) {return MIN_VAL + rand() % (MAX_VAL + 1 - MIN_VAL); }); // заполним вектор числами от MIN_VAL до MAX_VAL
    copy (v.begin(), v.end(), ostream_iterator <int> (cout, " ")); // и выведем полученый массив на экран
    cout << '\n';
    FindMinMax (v);
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.01.2014, 01:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Найти минимальное число среди положительных и максимальное число среди отрицательных
Дана некоторая последовательность из целых чисел оканчивающихся нулем. Найти минимальное число...

Из N целых чисел найти минимальное среди положительных и максимальное среди отрицательных значений
Из N целых чисел найти минимальное среди положительных и максимальное среди отрицательных значений.

Найти максимальное среди положительных и минимальное среди отрицательных значений
Из M целых чисел найти максимальное среди положительных и минимальное среди отрицательных значений.

Найти максимальное среди положительных и минимальное среди отрицательных значений
Из M целых чисел найти максимальное среди положительных и минимальное среди отрицательных значений.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.