Ошибка C4700 использована неинициализированная локальная переменная - C (СИ)

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

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

Не могу решить проблему в коде
# include <stdio.h>
# include <math.h>
# include <malloc.h>
int otric (float *x);
int modul (float *x);
void main(void)
{
    float *x,k;
    int i,O,M;
    x = (float *)malloc(33 * sizeof(float));
    printf("Massiv X do preobrazovaniya:\n");
    for (i = 0; i < 33; i++)
    {
        *(x + i) = pow(-1, i + 1)*sin(i*cos((16 - i) / (16 + i)));
        printf("%13.4E", *(x + i));
        if ((i + 1) % 6 == 0)
            printf("\n");
    }
O=otric(x);
printf("\n kol-vo otric elementov:%2d",O);
M=modul(x);
printf("\n summ:%7d",M);
free(x);
getchar();
}
int otric(float *x)
{
int i,k;
k=0;
for (i = 0; i < 33; i++)
{
if (*(x+i)<0)
++k;
}
return(k);
}
 
int modul (float *x)
{
int j,i,y,s=0;
j=fabs(*(x+i));
for (i=0;i<33;i++)
  {
  if(fabs(*(x+i))<j)
  j=*(x+i);
  y=i+1;
  }
for (i=y;i<33;i++)
    s+=*(x+i);
return(s);
}
Пишет Ошибка C4700 использована неинициализированная локальная переменная "i" (41 строка)
вот задание В одномерном массиве, состоящем из n вещественных элементов, вычислить: Количество отрицательных элементов массива Сумму модулей элементов массива, расположенных после минимального по модулю элемента

Решение задачи: «Ошибка C4700 использована неинициализированная локальная переменная»

textual
Листинг программы
j = fabs(*x);

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

  1. Входные данные: x (переменная типа double)
  2. Выполняется операция абсолютного значения (функция fabs)
  3. Результат сохраняется в переменной j (тип double)
  4. Значение переменной j: j

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


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

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

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