Ошибка компиляции 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();
}
Объяснение кода листинга программы
- Объявлены переменные: int X[N], i, maxv, minv, sr, k;
- Пользователю предлагается ввести 20 элементов массива:
printf(
vvedite 20 elemnov massiva\n); - Далее идет цикл, который заполняет массив 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]; } } } - Вычисляется значение sr: sr = (maxv + minv)/2;
- Выводятся значения maxv, minv и sr:
printf(
max = %d\n,maxv); printf(min = %d\n,minv); printf(sr = %d\n,sr); - Заполняется массив 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; } }
- Выводятся элементы откорректированного массива 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]); - Запрос на нажатие любой клавиши для продолжения:
printf(
Press any key to continue\n); - Код ожидает нажатия клавиши: _getch();