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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Fox_s
0 / 0 / 0
Регистрация: 25.01.2014
Сообщений: 6
#1

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

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

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

Среди чисел массива, встречающихся минимальное число раз, найти максимальное - C++
Дан массив А из N элементов (0<N<1000;0<A<10000). Среди чисел массива, встречающихся минимальное число раз, найти максимальное. Помогите,...

Нейти максимальное и минимальное число среди введенных - C++
Как дописать код не пойму максимальное нашел а минимальное не могу! Заранее спасибо #include <iostream> using namespace...

Определить минимальное и максимальное среди заданных вещественных чисел - C++
Даны четыре различных вещественных числа a, b, c и d. Определить минимальное (min) и максимальное (max) среди этих чисел, а так же...

Найти максимальное и минимальное значения среди заданных действительных чисел - C++
Даны действительные числа x, y, z. Получить: max( x, y, z ); min( x, y, z ).

Найти минимальное и максимальное из чётных положительных чисел, записанных в файле input.txt - C++
Количество чисел неизвестно. Если в файле нет чётных положительных чисел, нужно вывести число 0. Результат записать в файл output.txt . ...

Найти минимальное число среди образовавшегося промежутка чисел - C++
#include <iostream> using namespace std; #define n 5 void main(void) { int a; int i,minim; for ( i=0; i<n;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cooller
565 / 533 / 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...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
29.01.2014, 10:25     максимальное и минимальное число отдельно среди всех положительных чисел #3
найти где, под столом? почему вы не в состоянии даже нормально написать условия вашей задачи
_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
565 / 533 / 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
Программист
280 / 177 / 95
Регистрация: 05.12.2013
Сообщений: 667
Записей в блоге: 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++
Если можно максимально простой код. желательно через цикл for

Дается последовательность. Найдите максимальное произведение среди всех пар этих чисел - C++
Е. Дается последовательность из N чисел. Найдите максимальное произведение среди всех пар этих чисел. Первая строка входного файла...

Задача, for,while,do-while (определить минимальное число во введенной с клавиатуры последовательности положительных чисел) - C++
Добрый вечер! Прошу помогите решить задачу, ничего не выходит. Точнее не пойму как сделать. Использовать можно только for,while,do-while. ...


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

Или воспользуйтесь поиском по форуму:
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     максимальное и минимальное число отдельно среди всех положительных чисел
Ответ Создать тему
Опции темы

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