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

Как найти максимальный минимальный элемент? - C++

Восстановить пароль Регистрация
 
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
12.01.2013, 22:39     Как найти максимальный минимальный элемент? #1
Вот условие : Заменить все элементы с отрицательным значением на значение минимального не равного 0 положительного элемента.

В чём вопрос,как найти максимальный минимальный элемент?

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
#include "stdafx.h"
#include <clocale>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <iostream>
 
using namespace std;
 
 
int _tmain()
{
    setlocale(LC_ALL,"Russian");
 
    const int N = 10;
    int massiv[N];
    int otr,maxnol;
    srand (time(NULL));
 
    cout<<"Исходный массив :"<<endl;
    for (int i = 0;i<N;i++)
    {
        massiv[i] = -10 + rand() % 20;
        printf (" %d ",massiv[i]);
    }
 
    cout<<"Преобразованный массив :"<<endl;
    maxnol = massiv[0];
    int pr;
    for (int i = 0;i<N;i++)
    {
        if (massiv[i]<0)
            otr = massiv[i];
        if (maxnol < massiv[i])
            maxnol = massiv[i];
            
                otr = maxnol;
                massiv[i] = otr;
 
                printf (" %d ",massiv[i]);
    }
 
    
 
    system ("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2013, 22:39     Как найти максимальный минимальный элемент?
Посмотрите здесь:

найти минимальный и максимальный элемент в массиве C++
Матрица, найти и поменять местами минимальный и максимальный элемент C++
Найти максимальный и минимальный элемент массива C++
C++ Классы. В массиве чисел размером 6х6 элементов найти максимальный элемент, минимальный элемент и их индексы
C++ Сформировать массив из 10 элементов. Найти минимальный элемент и максимальный
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
12.01.2013, 22:53     Как найти максимальный минимальный элемент? #2
а вы в условие добавьте проверку на положительность,а минимальный элемент вначале не 0 элементом инициализируйте а максимальным значением типа

Добавлено через 2 минуты
да и вначале найдите этот минимальный не отрицательный а только потом преобразуйте
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
12.01.2013, 23:02  [ТС]     Как найти максимальный минимальный элемент? #3
Nixy,
C++
1
maxnol = massiv[10];
C++
1
2
if (maxnol < massiv[i] && massiv[i]>0)
            maxnol = massiv[i];
так?

и ещё вопрос,вот присваивание когда у меня происходит,у меня встречаетс положительный элемент и меняет отрицательные,но потом снова встречается положительный элемент и уже на него меняются,в чём дело?
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
12.01.2013, 23:11     Как найти максимальный минимальный элемент? #4
Цитата Сообщение от faLek Посмотреть сообщение
C++
1
maxnol = massiv[10];
нет тут я имел ввиду <limits>
шас я ваш код отлажу

Добавлено через 2 минуты
Цитата Сообщение от faLek Посмотреть сообщение
ещё вопрос,вот присваивание когда у меня происходит,у меня встречаетс положительный элемент и меняет отрицательные,но потом снова встречается положительный элемент и уже на него меняются,в чём дело?
ответ тут
Цитата Сообщение от Nixy Посмотреть сообщение
да и вначале найдите этот минимальный не отрицательный а только потом преобразуйте
Добавлено через 3 минуты
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
#include <clocale>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <iostream>
#include <limits>
 
using namespace std;
 
 
int _tmain()
{
    system("chcp 1251");
 
    const int N = 10;
    int massiv[N];
    int otr,maxnol;
    srand (time(NULL));
 
    cout<<"Исходный массив :"<<endl;
    for (int i = 0;i<N;i++)
    {
        massiv[i] = -10 + rand() % 20;
        printf (" %d ",massiv[i]);
    }
 
    cout<<"\nПреобразованный массив :\n"<<endl;
    maxnol = INT_MAX;
    int pr;
 
    for (int i = 0; i < N; i++) {
        if (massiv[i] > 0 && massiv[i] < maxnol) {
            maxnol = massiv[i];
        }
    }
 
    for (int i = 0;i<N;i++)
    {
        if (massiv[i]<0)
            massiv[i] = maxnol;
            printf (" %d ",massiv[i]);
    }
 
 
 
    system ("pause");
    return 0;
}
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
12.01.2013, 23:17  [ТС]     Как найти максимальный минимальный элемент? #5
Nixy, спасибо,не знал ещё про эту библиотеку,а без них можно ли было как-то обойтись?
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
12.01.2013, 23:22     Как найти максимальный минимальный элемент? #6
ну если вы заранее знаете предел числа в вашем случае так как вы получаете числа от -10 до 10 то максимум можно взять 10, так как для поиска минимального самым минимальным вначале должен быть самый большой,а вот 0 элемент не факт что самый большой да ко всемуже не факт что и положительный, еще можно вначале найти максимальный его задать как минимальный а потом искать минимальный положительный
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2013, 23:26     Как найти максимальный минимальный элемент?
Еще ссылки по теме:

C++ Найти максимальный и минимальный элемент каждого столбца и строки матрицы
Найти минимальный и максимальный элемент последовательности C++
Как найти минимальный и максимальный элемент последовательности, вводимой с клавиатуры? C++

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

Или воспользуйтесь поиском по форуму:
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
12.01.2013, 23:26  [ТС]     Как найти максимальный минимальный элемент? #7
Nixy, впрочем больше мороки,в вашем случае код более компактный,лучше сейчас изучу эти пределы и всё=))
Yandex
Объявления
12.01.2013, 23:26     Как найти максимальный минимальный элемент?
Ответ Создать тему
Опции темы

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