0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
1

Нахождение максимального элемента в массиве и его индекс (элемента)

11.03.2014, 17:26. Показов 2226. Ответов 7
Метки нет (Все метки)

Доброго времени суток.
Вот исходный код поиска максимального элемента массива:

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"stdafx.h"
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
#include"math.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    int A[5];
    for (int i=0;i<5;i++)
    {
        A[i]=rand()%100;
        printf("A[%i]=%i\n",i,A[i]);
    }
    int max=A[0];
    for(int i=1;i<5;i++)
    {
        if (A[i]>max) {max=A[i];}
    }
    printf("max=%i\n",max);
    getch();
    return 0;
}
Вопрос такой:
Что нужно добавить, чтобы найти индекс этого элемента (максимального).
Проблема в том, что я слегка нуб, а человек, который зхадание это дал, утверждает, что для этого нужен только 1 оператор, т.е. все делается с добавлением 1 строчки...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.03.2014, 17:26
Ответы с готовыми решениями:

Индекс максимального элемента в массиве
Всем привет, неправильно находит индекс максимального элемента в массиве, в чем причина, подскажите...

Определить индекс и значение максимального элемента в массиве через ссылку
Здравствуйте, помогите, пожалуйста: Программа запрашивает у пользователя размер массива, выделяет...

В линейном массиве заменить все элементы на число m (m – индекс максимального элемента)
Первый семестр

Нахождение максимального элемента и его номера в дереве
сама проблема находится в том чтобы найти номер максимального эл. #include &quot;stdafx.h&quot; # include...

7
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
11.03.2014, 17:59 2
о_О Добавьте переменную еще одну
C++
1
 int id = 0;
и допишите в ифе
C++
1
{max = A[i]; id = i;}
1
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 20:39  [ТС] 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
#include"stdafx.h"
#include"stdio.h"
#include"stdlib.h"
#include"conio.h"
#include"math.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    int A[5];
    for (int i=0;i<5;i++)
    {
        A[i]=rand()%100;
        printf("A[%i]=%i\n",i,A[i]);
    }
    int max=A[0];
    int id = 0;
for(int i=1;i<5;i++)
    {
        if (A[i]>max) {max=A[i];id=i}
    }
    printf("max=%i\n",max);
    getch();
    return 0;
}
Зараннее спасибо за ответ.
0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
11.03.2014, 20:45 4
Зачем ещё и макс хранить? Психи оптимизации не одобряют)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int _tmain(int argc, _TCHAR* argv[])
{
    int A[5];
    for (int i=0;i<5;i++)
    {
        A[i]=rand()%100;
        printf("A[%i]=%i\n",i,A[i]);
    }
    int max_id=0;
    for(int i=1;i<5;i++)
    {
        if (A[i]>A[max_id]) {max_id=i;}
    }
    printf("max=%i - %i\n",A[max_id],max_id);
    getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 20:59  [ТС] 5
А вот макс как раз таки и нужен.... дело в том, чтобы исходный код оставить как есть, но с добавлениями...
вот такое задание)
0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
11.03.2014, 21:02 6
Цитата Сообщение от lunar162 Посмотреть сообщение
исходный код оставить как есть, но с добавлениями...
психи оптимизации разочарованы, но Вы получили ответ, я так понял - Ваш последний вариант вроде верный)
1
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 21:09  [ТС] 7
Спасибо за ответ, это и надо было услышать.
З.Ы. С психамси оптимизации пускай препод разбирается, задание носит чисто теоретический характер)
0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
11.03.2014, 21:12 8
Цитата Сообщение от lunar162 Посмотреть сообщение
оптимизации пускай препод разбирается
У меня уже давно нет преподов или Вы о своём? Тогда Я пошутил, передайте преподу, что я осознал свою не правоту и не нужно со мной разбираться))
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.03.2014, 21:12
Помогаю со студенческими работами здесь

Цикл на нахождение максимального элемента и замена его на данный
Привет всем. У меня есть цикл на нахождение максимального элемента и замены его значение на...

Алгоритм обработки матрицы: Нахождение максимального элемента матрицы и его номера.
Алгоритм обработки матрицы: Нахождение максимального элемента матрицы и его номера.

Valarray, индекс максимального элемента
Подскажите, пожалуйста в valarray есть функция myvalarray.max() А как получить индекс этого...

Найти индекс максимального элемента массива
Добрый вечер помогите пожалуйста в одномерном массиве состоящем из n целых элементов вычислить...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru