Индекс максимального элемента динамического массива (отладить код) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Программа некорректно считает индекс массива (вместо индекса максимального элемента выводит индекс последнего элемента) подскажите, что не так? Заранее спасибо.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
int *t;
int i,n,max, index;
printf("\n n=");
scanf("%d", &n);
t=(int *)malloc(n*sizeof(int));
 
printf("Posledovatelnost:\n ");
for ( i=0; i<n; i++)
{printf("x[%d]=",i);
scanf("%d", &t[i]);}
max=t[0];
index=0;
for(i=0;i<n;i++)
{if (max<t[i])
max=t[i];
index=i;}
printf("max = %d  index = %d\n", max, index);
free(t);
getch();
}

Решение задачи: «Индекс максимального элемента динамического массива (отладить код)»

textual
Листинг программы
    for(i=0; i<n; i++)
    {
        if (max<t[i])
        {
            max=t[i];
            index=i;
        }
    }

Объяснение кода листинга программы

  1. Переменная i инициализируется значением 0.
  2. Цикл for начинается, который выполняется n раз.
  3. Внутри цикла проверяется условие if (max<t[i]).
  4. Если условие истинно, то выполняется блок кода внутри фигурных скобок:
    • Переменная max присваивается значение t[i].
    • Переменная index присваивается значение i.
  5. После выполнения блока кода выполняется инкремент переменной i на 1.
  6. Цикл продолжается до тех пор, пока условие if (max<t[i]) не станет ложным.
  7. После окончания цикла, переменная max содержит максимальное значение элемента динамического массива t.
  8. Переменная index содержит индекс элемента массива t, который имеет максимальное значение. Ответ: В данном коде находится индекс максимального элемента динамического массива t.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы