Найти индекс максимального элемента массива - C (СИ)
Формулировка задачи:
Не находит правильно индекс максимального элемента, в чём ошибка?
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<locale.h>
void main ()
{
setlocale(LC_ALL,"rus");
int i,n,min_inex,max_index;
float *ptr,sum=0,p=1,max,min;
printf("Пожалуйста,введите размерность массива\n");
scanf("%d",&n);
ptr=(float*)malloc(n*sizeof(float));
if(ptr==NULL)
{
printf("Не хватает свободной памяти");
return;
}
for(i=0;i<n;i++)
{
printf("Введите элемент массива[%d]\n",i+1);
scanf("%f",ptr+i);
}
for(i=0;i<n;i++)
{ if(*(ptr+i)<0) sum+=*(ptr+i);
}
printf("Сумма отрицательных элементов массива = %.2f\n",sum);
max_index=0;
max=*ptr;
for(i=1;i<n;i++)
{
if (*(ptr+i)>max)
max=*(ptr+i);
max_index=i;
}
printf("%d\n",max_index);
}Решение задачи: «Найти индекс максимального элемента массива»
textual
Листинг программы
printf("%d\n",max_index + 1);
Объяснение кода листинга программы
Код представлен одним предложением и выполняет следующие действия:
- Выводит на экран значение переменной
max_index+ 1. Примечание: В данном случае не указан сам код, а только его часть, которая выводит результат на экран. Для полного понимания работы кода необходимо знать все его части.