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

Поиск наибольшего и наименьшего значения в массиве. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.93
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
29.01.2012, 19:12     Поиск наибольшего и наименьшего значения в массиве. #1
Как в одномерном массиве a[n] найти наибольшее и наименьшее числа ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2012, 19:12     Поиск наибольшего и наименьшего значения в массиве.
Посмотрите здесь:

Матрица - найти среднее арифметическое наибольшего и наименьшего значения её элементов C++
Составить программу для нахождения наибольшего и наименьшего общего делителя и наименьшего общего кратного двух натуральных чисел C++
Написать программу нахождения наибольшего и наименьшего значения функции C++
C++ Поиск индекса самого наименьшего элемента в массиве
Найти среднее арифметическое наибольшего и наименьшего значений в двумерном массиве C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.01.2012, 19:19     Поиск наибольшего и наименьшего значения в массиве. #2
C++
1
2
std::min_element(a, a + n);
std::max_element(a, a + n);
На cplusplus.com должна быть реализация(если потребуется).
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
29.01.2012, 19:32  [ТС]     Поиск наибольшего и наименьшего значения в массиве. #3
soon почему-то не работает Вот такие ошибки получаю :
Миниатюры
Поиск наибольшего и наименьшего значения в массиве.  
ШКІПЕР
 Аватар для ШКІПЕР
93 / 93 / 7
Регистрация: 14.04.2010
Сообщений: 280
Записей в блоге: 9
Завершенные тесты: 1
29.01.2012, 19:36     Поиск наибольшего и наименьшего значения в массиве. #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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, max=0, min=0;
    printf ("N: ");
    scanf("%d", &n);
    int *a = (int*)malloc(n);
    printf ("Массив: ");    
    scanf("%d",&a[0]);
    max=a[0];
        min=a[0];
 
    for (int i=1; i<n; ++i)
    {
        scanf("%d",&a[i]);
        max=max<a[i]?a[i]:max;
        min=max>a[i]?a[i]:min;
    }
 
    printf("max: %d, min: %d", max, min);
    _getch();
    return EXIT_SUCCESS;
}
_engineer_
115 / 72 / 2
Регистрация: 23.01.2012
Сообщений: 186
29.01.2012, 19:37     Поиск наибольшего и наименьшего значения в массиве. #5
Вот так можно

Код
#define COUNT_ARR 30
int a[COUNT_ARR];
int max = a[0];
int min = a[0];

for(i = 0; i < COUNT_ARR; ++i)
{
 if(a[i] > max) {max = a[i]}
 if(a[i] < min) {min = a[i]}
 
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.01.2012, 19:38     Поиск наибольшего и наименьшего значения в массиве. #6
disker, #include <algorithm>
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
29.01.2012, 19:50     Поиск наибольшего и наименьшего значения в массиве. #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main(void){
int n=100;
int a[n];
int max=a[1];
int min=a[1];
for(int i=0; i<n; i++)a[i]=rand()%100;
for(int i=0; i<n; i++){if (a[i]>max)max=a[i];
                            if (a[i]<min)min=a[i];}
cout<<"min = "<<min<<"\n max= "<< max;
return 0;
}
тут заполняется случайными, и находится максимальное и мин и выводится на экран.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.01.2012, 19:55     Поиск наибольшего и наименьшего значения в массиве. #8
Stochfard, min и max инициализируются мусорными значениями.
_engineer_
115 / 72 / 2
Регистрация: 23.01.2012
Сообщений: 186
29.01.2012, 20:03     Поиск наибольшего и наименьшего значения в массиве. #9
Да, мусорными не хорошо, вдруг в диапазон значений в массиве не попадут.
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
29.01.2012, 20:04  [ТС]     Поиск наибольшего и наименьшего значения в массиве. #10
Цитата Сообщение от soon Посмотреть сообщение
disker, #include <algorithm>
не пойму как оно работает: мне нужно присвоить эти значения каким - нибудь переменным. К примеру максимальное пусть будет maxkz, а минимальное minkz (у меня массив объявлен как kz). Ну так вот - никак не могу заставить их присвоить значения. Попробовал вывести в Label1 одно из значений :
C++
1
label1->Text = Convert::ToString(min_element(kz, kz + 80));
получаю надпись в label1 - "True" .. я в замешательстве. Как числовое значение может быть true .. ? Что т- то похоже работает не правильно
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.01.2012, 20:09     Поиск наибольшего и наименьшего значения в массиве. #11
На cplusplus все расписано. Дело в том, что эти функции возвращают указатель, следовательно его надо разыменовать. Звездочку поставьте перед функцией.
_engineer_
115 / 72 / 2
Регистрация: 23.01.2012
Сообщений: 186
29.01.2012, 20:12     Поиск наибольшего и наименьшего значения в массиве. #12
a если Convert::ToString заменить на IntToStr()
disker
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 78
29.01.2012, 20:18  [ТС]     Поиск наибольшего и наименьшего значения в массиве. #13
Цитата Сообщение от soon Посмотреть сообщение
Звездочку поставьте перед функцией.
с *max_element вроде заработало правильно, а вот с *min_element находит, что он равен 0, хотя ноля в массиве быть не должно. Похоже я что-то напутал с массивом .. буду разбираться
Stochfard
4 / 4 / 1
Регистрация: 23.12.2011
Сообщений: 79
29.01.2012, 22:54     Поиск наибольшего и наименьшего значения в массиве. #14
Цитата Сообщение от soon Посмотреть сообщение
Stochfard, min и max инициализируются мусорными значениями.
а каким лучше ?
и почему могут не попасть ?я же поставил ранд%100, а int более 32000?
или я что-то путаю ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2012, 23:07     Поиск наибольшего и наименьшего значения в массиве.
Еще ссылки по теме:

Определить значения наибольшего неположительного и наименьшего неотрицательного элементов массива C++
C++ Рекурсивная функция для вычисления наибольшего значения в одномерном массиве
C++ Рекурсивная функция для поиска наименьшего значения в массиве

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

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
29.01.2012, 23:07     Поиск наибольшего и наименьшего значения в массиве. #15
Цитата Сообщение от Stochfard Посмотреть сообщение
а каким лучше ?
Можно сначала первый элемент в массиве инициализировать, затем объявлять min и max.

Цитата Сообщение от Stochfard Посмотреть сообщение
и почему могут не попасть ?я же поставил ранд%100, а int более 32000?
Ага. Представьте, что max будет 100. Или min = -1. Или больше/меньше соответсвенно.
Yandex
Объявления
29.01.2012, 23:07     Поиск наибольшего и наименьшего значения в массиве.
Ответ Создать тему
Опции темы

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