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

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

Восстановить пароль Регистрация
 
lunar162
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 17:26     Нахождение максимального элемента в массиве и его индекс (элемента) #1
Доброго времени суток.
Вот исходный код поиска максимального элемента массива:

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 строчки...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 17:26     Нахождение максимального элемента в массиве и его индекс (элемента)
Посмотрите здесь:

C++ В линейном массиве заменить все элементы на число m (m – индекс максимального элемента)
C++ Найти индекс максимального элемента заданного массива
C++ Нахождение максимального элемента
C++ Найти индекс первого максимального элемента массива
C++ Определить индекс и значение максимального элемента в массиве через ссылку
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Тамика
Котовчанин
 Аватар для Тамика
860 / 440 / 129
Регистрация: 16.02.2010
Сообщений: 2,543
Записей в блоге: 27
11.03.2014, 17:59     Нахождение максимального элемента в массиве и его индекс (элемента) #2
о_О Добавьте переменную еще одну
C++
1
 int id = 0;
и допишите в ифе
C++
1
{max = A[i]; id = i;}
lunar162
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;
}
Зараннее спасибо за ответ.
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
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;
}
lunar162
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 20:59  [ТС]     Нахождение максимального элемента в массиве и его индекс (элемента) #5
А вот макс как раз таки и нужен.... дело в том, чтобы исходный код оставить как есть, но с добавлениями...
вот такое задание)
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
11.03.2014, 21:02     Нахождение максимального элемента в массиве и его индекс (элемента) #6
Цитата Сообщение от lunar162 Посмотреть сообщение
исходный код оставить как есть, но с добавлениями...
психи оптимизации разочарованы, но Вы получили ответ, я так понял - Ваш последний вариант вроде верный)
lunar162
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 4
11.03.2014, 21:09  [ТС]     Нахождение максимального элемента в массиве и его индекс (элемента) #7
Спасибо за ответ, это и надо было услышать.
З.Ы. С психамси оптимизации пускай препод разбирается, задание носит чисто теоретический характер)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 21:12     Нахождение максимального элемента в массиве и его индекс (элемента)
Еще ссылки по теме:

Индекс максимального элемента в массиве C++
C++ Valarray, индекс максимального элемента
C++ Найти индекс первого максимального элемента массива

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

Или воспользуйтесь поиском по форуму:
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
11.03.2014, 21:12     Нахождение максимального элемента в массиве и его индекс (элемента) #8
Цитата Сообщение от lunar162 Посмотреть сообщение
оптимизации пускай препод разбирается
У меня уже давно нет преподов или Вы о своём? Тогда Я пошутил, передайте преподу, что я осознал свою не правоту и не нужно со мной разбираться))
Yandex
Объявления
11.03.2014, 21:12     Нахождение максимального элемента в массиве и его индекс (элемента)
Ответ Создать тему
Опции темы

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