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

максимальное и минимальное число отдельно среди всех положительных чисел - C++

Восстановить пароль Регистрация
 
Fox_s
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 6
29.01.2014, 09:15     максимальное и минимальное число отдельно среди всех положительных чисел #1
Здравствуйте! Помогите пожалуйста нужно найти максимальное и минимальное число отдельно среди всех положительных чисел и отдельно среди всех отрицательных чисел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 09:15     максимальное и минимальное число отдельно среди всех положительных чисел
Посмотрите здесь:

Найти минимальное число среди образовавшегося промежутка чисел C++
Какое число среди введенных четных чисел максимальное? C++
C++ Нужно найти минимальное значение среди позитивных чисел и максимальное среди отрицательных.
C++ Найти минимальное число среди положительных чисел и максимальное число среди отрицательных чисел
C++ Найти максимальное и минимальное значения среди заданных действительных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 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;
}
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
29.01.2014, 10:25     максимальное и минимальное число отдельно среди всех положительных чисел #3
найти где, под столом? почему вы не в состоянии даже нормально написать условия вашей задачи
_include
Студент
 Аватар для _include
52 / 52 / 12
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
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;
}
cooller
 Аватар для cooller
564 / 532 / 120
Регистрация: 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
А если кому то захочется поменьше число?
Arigato
Программист
 Аватар для Arigato
278 / 175 / 94
Регистрация: 05.12.2013
Сообщений: 570
Записей в блоге: 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;
}
_include
29.01.2014, 13:54
  #7

Не по теме:

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

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2014, 01:41     максимальное и минимальное число отдельно среди всех положительных чисел
Еще ссылки по теме:

C++ Среди чисел массива, встречающихся минимальное число раз, найти максимальное
Матрицы. Найти максимальное значение среди буквенных символов и минимальное среди цифровых значений C++
В заданном массиве целых чисел найти максимальное и минимальное число C++

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

Или воспользуйтесь поиском по форуму:
wl9pa2
2 / 2 / 1
Регистрация: 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;
}
Yandex
Объявления
30.01.2014, 01:41     максимальное и минимальное число отдельно среди всех положительных чисел
Ответ Создать тему
Опции темы

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