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

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

Восстановить пароль Регистрация
 
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
05.05.2011, 20:24     Найти максимальный элемент в массиве #1
Как найти максимальный элемент в массиве?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2011, 20:24     Найти максимальный элемент в массиве
Посмотрите здесь:

C++ Найти в двумерном массиве максимальный элемент
C++ Найти максимальный элемент в массиве
Дан массив целых чисел. Найти В этом массиве минимальный элемент т и максимальный элемент м. Вывести сумму элементов от минимального до максимального C++
C++ Классы. В массиве чисел размером 6х6 элементов найти максимальный элемент, минимальный элемент и их индексы
C++ Найти в массиве максимальный элемент и минимальный элемент, и поменять их местами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
05.05.2011, 20:28     Найти максимальный элемент в массиве #2
C++
1
2
3
4
5
6
7
int MAS[] = {1, 2, 3, 4, 5, 4, 3, 2, 1};
std::cout << *max_element (MAS, MAS + sizeof (MAS) / sizeof (*MAS)); // + include <algorithm>
// without stl
const int SIZE = sizeof (MAS) / sizeof (*MAS);
int max = MAS[0];
for (int i = 1; i < SIZE; i++)
    if (MAS[i] > max) max = MAS[i];
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
05.05.2011, 20:36     Найти максимальный элемент в массиве #3
для разнообразия
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <valarray>
 
int main()
{
    std::valarray<int> a(10);
 
    for(std::size_t i = 0; i < a.size(); ++i)
        std::cin >> a[i];
 
    std::cout << "max: " << a.max() << '\n';
    return 0;
}
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
05.05.2011, 20:44  [ТС]     Найти максимальный элемент в массиве #4
а можно так? только ругается на 12 строку почему ?
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.h>
#include <string.h> // strlen()
const int SIZE=9;
void maxint(int [SIZE], int );
 
int main()
{
    int number[SIZE];
    cout<<"Enter Number: ";
    for (int j=0; j<SIZE; j++)
    cin>>number[j];
    int n=strlen(number);
    return 0;
}
 
void maxint(int num [SIZE], int nn)
{   int n=num[0];
    int max;
    for(int i=0; i<nn; i++)
    {
        if(n>=num[i])
        max=num[i];
    }
    cout<<max;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
05.05.2011, 20:46     Найти максимальный элемент в массиве #5
Что вы ждете от функции strlen в этом коде?
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
05.05.2011, 20:46  [ТС]     Найти максимальный элемент в массиве #6
strlen же показывает размер массива? (если конечно не знаем сами размер)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
05.05.2011, 20:47     Найти максимальный элемент в массиве #7
Ну раз пошла такая п`янка...еще вариант:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <boost/algorithm/minmax_element.hpp>
#include <vector>
 
int main(){
  std::vector<int> a = {6, 3, 2, 7, 4};
  std::cout << *boost::first_max_element(a.begin(), a.end());
  return 0;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
05.05.2011, 20:48     Найти максимальный элемент в массиве #8
C++
1
size_t strlen ( const char * str );
Это прототип функции strlen, она возвращает размер строки.

Вы же заранее рамер массива задали, зачем вы еще раз пытаетесь его найти? Он измениться не может, не бойтесь)
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
05.05.2011, 20:50  [ТС]     Найти максимальный элемент в массиве #9
да не это я понимаю просто если даже задан но strlen же должна работать а то ошибка int to char
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,689
05.05.2011, 20:56     Найти максимальный элемент в массиве #10
Попробоуем еще раз.
C++
1
size_t strlen ( const char * str );
Вы видите что принимает функция? Константный указатель на char. То есть по сути строка.

А вы что делаете?
Размер массива можно найти такой операцией:
C++
1
const int SIZE = sizeof (MAS) / sizeof (*MAS);
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
05.05.2011, 20:57  [ТС]     Найти максимальный элемент в массиве #11
а все понял. спасибо
ZloyVolkey
 Аватар для ZloyVolkey
27 / 27 / 6
Регистрация: 01.05.2011
Сообщений: 85
05.05.2011, 20:58     Найти максимальный элемент в массиве #12
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
#include <stdio.h>  
 
int Max(int [], int);
 
int main()
{
    int *a;     
    int N, max; 
 
    scanf("%i", &N);
    a = new int [N];
    for (int i = 0; i < N; i++)
        scanf("%i", &a[i]);
 
    max = Max(a, N);
    printf("Max = %i\n", max);
    
    return 0;
}
 
int Max(int b[], int M)
{
    int max, i;
    max = b[0];
    for (i = 1; i < M; i++)
        if (max < b[i])
            max = b[i];
    return max;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
05.05.2011, 21:04     Найти максимальный элемент в массиве #13
Цитата Сообщение от neske Посмотреть сообщение
Вы видите что принимает функция? Константный указатель на char.
Немного поправлю: константный указатель на char, будет выглядить так -
C++
1
char *const p
, а то, что принимает фукция strlen() - это не константный указатель на константный тип, то есть - указатель на char которое нельзя менять.

Добавлено через 56 секунд
Подробней тут.
.Malek.
5 / 5 / 0
Регистрация: 20.03.2011
Сообщений: 180
05.05.2011, 21:21  [ТС]     Найти максимальный элемент в массиве #14
все разобрался и сделал а как мне вернуть значение и индекс максимального элемента? или хотябы индекс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream.h>
#include <string.h> // strlen()
const int SIZE=4;
int maxint(int [SIZE]);
 
int main()
{
    int number[SIZE];
    cout<<"Enter Number: ";
    for (int j=0; j<SIZE; j++)
    cin>>number[j];
    cout<<maxint(number);
    return 0;
}
 
int maxint(int num [SIZE])
{   int max=num[0];
    for(int i=1; i<SIZE; i++)
        if(num[i]>max)
            max=num[i];
    
    return max;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 21:53     Найти максимальный элемент в массиве
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
ZloyVolkey
 Аватар для ZloyVolkey
27 / 27 / 6
Регистрация: 01.05.2011
Сообщений: 85
05.05.2011, 21:53     Найти максимальный элемент в массиве #15
C++
1
2
3
4
5
6
7
8
9
10
int maxint(int num [SIZE])
{       int max = 0;
        for(int i=1; i<SIZE; i++)
                if(num[i] > num[max])
                        max = i;
        
        return max;
}
 
cout<<number[maxint(number)];
Как то так вроде.
Yandex
Объявления
05.05.2011, 21:53     Найти максимальный элемент в массиве
Ответ Создать тему
Опции темы

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