함수입출력 질문이요..
하나
제가..
#include stdio.h
#include stdlib.h
#include time.h
#define NROWS 3
#define NCOLS 4
void printf_2D(double x[NROWS][NCOLS]);
void norm_2D(double x[NROWS][NCOLS]);
int max_2D(double x[NROWS][NCOLS]);
int min_2D(double x[NROWS][NCOLS]);
double x[NROWS][NCOLS],f[NROWS][NCOLS]={0,};
int i,j,k,l,final;
int main()
{
srand((unsigned int)time(NULL));
printf_2D(x);
norm_2D(x);
}
void norm_2D(double x[NROWS][NCOLS])
{
k=max_2D(x);
l=min_2D(x);
for(i=0;iNROWS;i++)
{
for(j=0;jNCOLS;j++)
{
f[i][j]=(x[i][j]-l)/(k-l);
}
}
for(i=0;iNROWS;i++)
{
for(j=0;jNCOLS;j++)
{
printf(%f\t,f[i][j]);
}
printf(\n);
}
}void printf_2D(double x[NROWS][NCOLS])
{
int i,j;
for(i=0;iNROWS;i++)
{
for(j=0;jNCOLS;j++)
{
x[i][j]=rand()/100;
}
}
for( i=0;iNROWS;i++)
{
for( j=0;jNCOLS;j++)
{
printf(%f\t ,x[i][j]);
}
printf(\n);
}
}
int k,l,final;int max_2D(double x[NROWS][NCOLS])
{
int i,j;
int max=x[0][0];
for( i=0;iNROWS;i++)
{
for( j=0;jNCOLS;j++)
{
if(maxx[i][j])
{
max=x[i][j];
}
}
}
return max;
}
int min_2D(double x[NROWS][NCOLS])
{
int i,j;
int min=x[0][0];
for( i=0;iNROWS;i++)
{
for( j=0;jNCOLS;j++)
{
if(minx[i][j])
{
min=x[i][j];
}
}
}
return min;
}이런식으로 코딩을 했거든요...근데 젤위에 #define 부분에서 NROWS,NCOLS를 각각 정의 했는데
이걸 실행파일에 NROWS,NCOLS을 각각 숫자입력하시오로 해서 그입력받은 숫자만큼 2차원배열이 쭉 나오게 할수없나요
예를들면 void norm_2D(double x[NROWS][NCOLS]);함수 안에서 자동으로 숫자를 입력받을수 있는 부분까지 넣을수있게요
위에 define부분은 없애구요
함수가 위에 선언되어있어서 scanf로 하니까 에러가 너무 많습니다. main밖에서 입력받기도 쉽지않구요