Ошибка компиляции The variable 'max' is being used without being initialized - C (СИ)

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

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

ребят, построение проходит успешно, а после ввода элементов массива выдает сообщение Run-Time Check Failure #3 - The variable 'max' is being used without being initialized. помогите найти ошибку пожалуйста
#include<stdio.h>
#define N 20
void main()
{
    int X [N],i,max,min,sr,k=0;
    printf("vvedite 20 elemnov massiva:");
    for(i=0;i<20;i++)
    {
        printf("%d-ii element-->",i);
        scanf("%d",&X[i]);
    }
    max==X[0];
    min==X[0];
for(i=1;i<20;i++)
{
    if (X[i]>max)
    max==X[i];
    else if (X[i]<min)
    min==X[i];
    
}
sr==((max+min)/2);
for(i=0;i<20;i++)
{
    if ((X[i]=max)||(X[i]=min))
        k==k+1;
    {
        if (k>1)
            X[i]==sr;
    }
}
for(i=0;i<20;i++)
{
    printf("elementy otredaktorovannogo massiva:\n",X[0],X[1],X[2],X[3],X[4]);
    printf("\n",X[5],X[6],X[7],X[8],X[9]);
    printf("\n",X[10],X[11],X[12],X[13],X[14]);
    printf("\n",X[15],X[16],X[17],X[18],X[19]);
}
}

Решение задачи: «Ошибка компиляции The variable 'max' is being used without being initialized»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define N 20
 
void main()
{
    int X[N],i,maxv,minv,sr,k;
    printf("vvedite 20 elemnov massiva\n");
    for(i = 0;i < 20; i++)
    {
        printf("%d-ii element-->",i);
        scanf("%d",&X[i]);
        if(i == 0)
        {
            maxv = X[0];
            minv = X[0];
        }
        else
        {
            if(maxv < X[i])
                maxv = X[i];
            if(X[i] < minv)
                minv = X[i];
        }
    }
    sr = (maxv + minv)/2;
    printf("max = %d\n",maxv);
    printf("min = %d\n",minv);
    printf("sr  = %d\n",sr);
    for(i = 0,k = 0; i < 20; i++)
    {
        if((X[i]=maxv)||(X[i]=minv))
        if(1 < (k=k+1))
            X[i] = sr;
    }
    printf("elementy otredaktorovannogo massiva:\n");
    printf("%d %d %d %d %d\n",X[0],X[1],X[2],X[3],X[4]);
    printf("%d %d %d %d %d\n",X[5],X[6],X[7],X[8],X[9]);
    printf("%d %d %d %d %d\n",X[10],X[11],X[12],X[13],X[14]);
    printf("%d %d %d %d %d\n",X[15],X[16],X[17],X[18],X[19]);
    printf("Press any key to continue\n");
    _getch();
}

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

  1. Объявлены переменные: int X[N], i, maxv, minv, sr, k;
  2. Пользователю предлагается ввести 20 элементов массива: printf(vvedite 20 elemnov massiva\n);
  3. Далее идет цикл, который заполняет массив X и определяет значения maxv и minv: for(i = 0;i < 20; i++) { printf(%d-ii element-->,i); scanf(%d,&X[i]); if(i == 0) { maxv = X[0]; minv = X[0]; } else { if(maxv < X[i]) { maxv = X[i]; } if(X[i] < minv) { minv = X[i]; } } }
  4. Вычисляется значение sr: sr = (maxv + minv)/2;
  5. Выводятся значения maxv, minv и sr: printf(max = %d\n,maxv); printf(min = %d\n,minv); printf(sr  = %d\n,sr);
  6. Заполняется массив X с использованием значения sr: for(i = 0,k = 0; i < 20; i++) { if((X[i]=maxv)||(X[i]=minv)) if(1 < (k=k+1)) { X[i] = sr; } }
  7. Выводятся элементы откорректированного массива X: printf(elementy otredaktorovannogo massiva:\n); printf(%d %d %d %d %d\n,X[0],X[1],X[2],X[3],X[4]); printf(%d %d %d %d %d\n,X[5],X[6],X[7],X[8],X[9]); printf(%d %d %d %d %d\n,X[10],X[11],X[12],X[13],X[14]); printf(%d %d %d %d %d\n,X[15],X[16],X[17],X[18],X[19]);
  8. Запрос на нажатие любой клавиши для продолжения: printf(Press any key to continue\n);
  9. Код ожидает нажатия клавиши: _getch();

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


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

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

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