Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Номер максимального элемента в массиве - C++

04.01.2015, 13:51. Просмотров 698. Ответов 8
Метки нет (Все метки)

массив из 10 целых чисел.Функция возвращает номер максимального элемента
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2015, 13:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Номер максимального элемента в массиве (C++):

В массиве найти номер максимального элемента - C++
В массиве найти номер максимального элемента

В массиве найти номер первого максимального элемента - C++
Дан целочисленный массив. Найти индекс первого максимального элемента

В заданном массиве найти номер максимального по абсолютному значению элемента - C++
Добрый день. Нужна помощь с одномерным массивом. Все делал по заданию, но при компилировании много ошибок. Вот задание: В одномерном...

В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива - C++
В одномерном массиве, состоящем из N целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов...

В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива - C++
Задание: В одномерном массиве, состоящем из N целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение...

Шаблоны функций. В одномерном массиве, состоящем из n вещественных элементов, вычислить номер максимального по модулю элемента массива - C++
Задание 1: Работа с одномерными массивами. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1. Номер...

8
Gambit501
1 / 1 / 0
Регистрация: 27.12.2014
Сообщений: 9
04.01.2015, 14:23 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main() 
{ 
    setlocale(LC_ALL, "Russian");
    int num[10] = {43, 28, 11, 60, 93, 13, 19, 85, 41, 23};
    int maxNum = 0;
    int size = sizeof(num)/sizeof(int); //Определяем сколько в массиве num[] элементов, заносим в size
    for(int i = 0; i < size; i++)
    {
        if(num[i] > maxNum)
        {
            maxNum = num[i];
        }
    }
    cout << "Максимальный элемент в массиве равен = " << maxNum << endl;
    system("pause >> void");
    return 0;
}
1
TrueTerm
167 / 115 / 38
Регистрация: 25.12.2014
Сообщений: 382
04.01.2015, 20:33 #3
Gambit501, Вот это "int maxNum = 0; "означает, что программа будет искать, только если числа в массиве положительны. К тому же нужен НОМЕР максимального элемента, а не сам элемент.
1
Gekr
38 / 39 / 15
Регистрация: 01.10.2012
Сообщений: 161
Завершенные тесты: 1
04.01.2015, 21:29 #4
Как насчет так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main() 
{ 
    int MaxEl, num[10] = {43, 28, 11, 60, 93, 13, 19, 85, 41, 23};
    int maxNum;
    int size = sizeof(num)/sizeof(int); //Определяем сколько в массиве num[] элементов, заносим в size
    for(int i = 0; i < size; i++)
    {
        if(num[i] > maxNum)
        {
            maxNum = num[i];
            
            if(num[i]==maxNum)
            {
            MaxEl = i;
            }
        }
    }   
}
0
tnk500
113 / 117 / 25
Регистрация: 25.08.2012
Сообщений: 1,292
Завершенные тесты: 3
04.01.2015, 21:40 #5
sami26, просто добавьте такое действие (как если бы вы искали просто макс. элемент):
C++
1
2
3
4
5
6
7
8
9
int indexOfMax = 0;
for(int i = 0; i < size; i++)
    {
        if(num[i] > maxNum)
        {
            maxNum = num[i];
            indexOfMax = i;
        }
    }
0
TrueTerm
167 / 115 / 38
Регистрация: 25.12.2014
Сообщений: 382
04.01.2015, 22:05 #6
Цитата Сообщение от Gekr Посмотреть сообщение
num[i] > maxNum
А если i=0 то как это будет выполняться? Чему равен maxNum в самом начале?

Добавлено через 15 минут
sami26, Gekr, Gambit501, Ребята, поиск минимума\максимума в массиве - это азбука. Это шаблон ,по которому 90, если не 99%, всех задач с последовательностями решаются. Так что, напишите или найдите правильную версию программы и разберитесь, как она работает.
2
Gekr
38 / 39 / 15
Регистрация: 01.10.2012
Сообщений: 161
Завершенные тесты: 1
04.01.2015, 22:47 #7
Цитата Сообщение от TrueTerm Посмотреть сообщение
А если i=0 то как это будет выполняться?
0-й элемент покажет. Только что проверил. Или я неправильно Вас понял? Вы имели ввиду что нумерация элементов должна начинается с 1, а не с 0?

Цитата Сообщение от TrueTerm Посмотреть сообщение
Чему равен maxNum в самом начале?
Вместо того чтобы поставить какое-нибудь отрицательное число, я оставил maxNum не инициализированным. Или есть еще какой-то способ, чтобы код работал и для положительных и для отрицательных значений элементов в массиве?

Литературу по с и с++ недавно начал читать, пока пишу код методом проб и ошибок
0
tnk500
113 / 117 / 25
Регистрация: 25.08.2012
Сообщений: 1,292
Завершенные тесты: 3
04.01.2015, 22:56 #8
Gekr, просто инициализируйте переменную первым элементом массива, а поиск начинайте с array[1]. А тому, кому нужно найти индекс макс. элемента, пусть поднимится на три сообщения выше
1
TrueTerm
167 / 115 / 38
Регистрация: 25.12.2014
Сообщений: 382
04.01.2015, 23:05 #9
Gekr, нумерация элементов, конечно, с 0. Я имел в виду "num[i] > maxNum". Это условие будет истинныи или ложным, когда i=0? Ведь в этот момент сравнивается num[i] c чем? "я оставил maxNum не инициализированным", значит num[0] сравнивается с неинициализированным maxNum. Если оно будет больше этого неинициализированного, то maxNum = num[i], а если равно или меньше, то maxNum так и останется неинициализированным и будет сравниваться со следующим. А неинициализированное-это сколько? И каких чисел оно больше, а каких меньше?

Добавлено через 6 минут
tnk500, Да, обычно так и делают для заведомо непустой последовательности. У нас "массив из 10 целых чисел", т.е. заведомо не пустой.
Если же последовательность может быть пуста, то можно присвоить или самое нижнее значение из диапазона для типа элементов или "минус бесконечность" (например, смоделировав её при помощи какого-то флажка).
1
04.01.2015, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2015, 23:05
Привет! Вот еще темы с ответами:

Вычислить в одномерном массиве вычислить номер максимального элемента - C++
Здравствуйте, меня зовут Вика, я не сильна в программирование (ну тоесть вообще) прошу вас (умные и добрые люди) помочь мне решить задание....

Пользователь вводит с клавиатуры N чисел. Определить номер максимального элемента, выдав сообщение вида "Максимальный номер элемента был введен 7-м" - C++
Заранее спасибо.

В одномерном массиве вычислить номер максимального элемента массива и сумму элементов массива, расположенных после первого положительного - C++
Задача 2. В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1) номер максимального по модулю элемента массива; 2)...

В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между - C++
Помогите исправить программу Задание: В одномерном массиве, состоящем из n целых элементов, 1) номер максимального элемента...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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