найти индекс максимального значения в массиве в C - PullRequest
0 голосов
/ 14 июня 2011

Я хочу найти индекс максимального значения в массиве в C.

Я пишу этот пример кода:

maks=0;
for(i=0;i< N * N;i++) {
    if(array[i]>maks) {
        maks=(int) array[i];
        k=i;
    }
}

Но это не работает должным образом. Не могли бы вы посоветовать мне другой пример, пожалуйста?

С наилучшими пожеланиями ...

Ответы [ 2 ]

7 голосов
/ 14 июня 2011
k = 0;
max = array[k];

for (i = 0; i < N * N; ++i)
{
    if (array[i] > max)
    {
        max = (int)array[i];
        k = i;
    }
}

Должно работать!

0 голосов
/ 07 апреля 2017

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

  int max_index(float *a, int n)
    {
        if(n <= 0) return -1;
        int i, max_i = 0;
        float max = a[0];
        for(i = 1; i < n; ++i){
            if(a[i] > max){
                max = a[i];
                max_i = i;
            }
        }
        return max_i;
    }

Пример использования,

float a[3] ={1.2,3.2,4.0};
cout<<max_index(a,3)<<endl; //will output 2, because a[2] element is the max
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...