2차원 배열 계산이요
남천
질문 제목 : 2차원 배열 계산이요1. 2차원 배열에서 우선 grid란 값을 받아서 정확히는 모르겠지만 동적할당을 받았습니다.
2. 윗부분의 대부분은 상수값을 받았고 밑부분의 ap값을 구할고 합니다.
3. 자꾸 오류가 나서 그러는데 원래 2차원 배열과 일반 숫자는 더해지지 않나요?
오류도 찾고 싶습니다. 질문 내용 :
# includestdio.h
# include stdlib.h
# include malloc.h
int main (void){
int i,j,iter,choice;
double *ae,*aw,*as,*an,*ap;
double *t,*su;
double grid;double bw,bs,bn,be;
double qw,qs,qn,qe;
double spw,sps,spn,spe,sp;
double tw,ts,tn,te;
printf(grid);
scanf(%lf,&grid);
//printf(iteration);
//scanf(%lf,&iter);
printf(grid number==%lf\n,grid);
ae=(double *)malloc(grid*sizeof(double));
aw=(double *)malloc(grid*sizeof(double));
as=(double *)malloc(grid*sizeof(double));
an=(double *)malloc(grid*sizeof(double));
ap=(double *)malloc(grid*sizeof(double));
t=(double *)malloc(grid*sizeof(double));
su=(double *)malloc(grid*sizeof(double));
double a=0.001;
double k=1000;
double dx=0.1;
double dy=0.1;
sp=0;
printf(boundary west 1.heat flux 2. temp);
scanf(%d,&choice);
if(1==choice)
{
printf(heat flux\n);
scanf(%lf,qw);
bw=qw*a;
spw=0;
}else{
printf(temp\n);
scanf(&lf,tw);
bw=2*k/dy*a*tw;
spw=-2*k/dy;
}
printf(boundary east 1.heat flux 2. temp);
scanf(%d,&choice);
if(1==choice)
{
printf(heat flux\n);
scanf(%lf,qe);
be=qe*a;
spe=0;
}else{
printf(temp\n);
scanf(&lf,te);
be=2*k/dy*a*te;
spe=-2*k/dy;
}
printf(boundary south 1.heat flux 2. temp);
scanf(%d,&choice);
if(1==choice)
{
printf(heat flux\n);
scanf(%lf,qs);
bs=qs*a;
sps=0;
}else{
printf(temp\n);
scanf(&lf,ts);
bs=2*k/dy*a*ts;
sps=-2*k/dy;
}
printf(boundary north 1.heat flux 2. temp);
scanf(%d,&choice);
if(1==choice)
{
printf(heat flux\n);
scanf(%lf,qn);
bn=qn*a;
spn=0;
}else
{
printf(temp\n);
scanf(&lf,tn);
bn=2*k/dy*a*tn;
spn=-2*k/dy;
}
ae[0][0]=k*a/dx;
aw[0][0]=0;
an[0][0]=k*a/dy;
as[0][0]=0;
su[0][0]=bw+bs;
ap[0][0]=ae[0][0]+aw[0][0]+as[0][0]+an[0][0]-sp; -----계산이 되는 건가요???
printf(%lf\t,ap[0][0]);for(i=1;igrid;i++)
{for(j=1;jgrid;j++){
ae[i][j]=k*a/dx;
aw[i][j]=k*a/dx;
an[i][j]=k*a/dy;
as[i][j]=k*a/dx;
su[i][j]=0;
ap[i][j]=ae[i][j]+aw[i][j]+as[i][j]+an[i][j]-sp;
}
}
for(i=1;igrid;i++)
{for(j=1;jgrid;j++){
printf(%lf\t,ap[i][j]);
}
}
-
맑다
error인지 warning인지 잘 살펴보세요
double 형 변수에는 항상 double값이 들어갈수 있도록 캐스팅해주세요
double A = 0; 보단 double A = 0.0; 이런식으로요
malloc((int)grid*sizeof(double));
int main();함수에서는
return 0; 처럼 정수형을 반환하도록 해주세요 -
뿡뿡몬
그렇죠. 그값은 항상 10이에요...
그런데 돌려보면 값이 안나오고 오류만 38개 인가 나서...
못하고 있었어요. -
바라
sp는 항상 0이고
k는 항상 1000이고
A는 항상 0.001이고
dx랑 dy는 항상 0.1인데
그럼 k*A/dx 나 k*A/dy 는 항상 10 이네요 ??
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694450 | while문질문입니다. (1) | 허리품 | 2025-05-11 |
2694420 | C언어 질문할게요(유니코드,자료형,버퍼,캐스트연산자) | 은새 | 2025-05-11 |
2694370 | 내일까진데 함수호출 제발 도와주세요!!!!!!!!!11 | 들찬 | 2025-05-10 |
2694339 | putchar()의 괄호 안에 int c=10;로 전에 선언된 c를 넣으면 안되는 이유에서 제가 생각한 것이 그 이유가 되는지 확인하고 싶습니다. (3) | 미르 | 2025-05-10 |
2694316 | 이 코드 어디가 잘못되었는지 고수분들 ㅠㅠ (2) | 나빛 | 2025-05-10 |
2694285 | 언어 공부하는 과정 좀 추천해주세요! (1) | 아빠몬 | 2025-05-09 |
2694258 | 카운터.. 질문입니다. (4) | 하늘빛눈망울 | 2025-05-09 |
2694229 | 단순한 질문이요 (8) | 여름 | 2025-05-09 |
2694202 | 용돈을 가지고 할 수 있는 일을 여러가지로 출력하는 방법 좀 알려주세요! (2) | 미나 | 2025-05-09 |
2694145 | 화면깜빡임을 없애고 싶은데요... (1) | 어서와 | 2025-05-08 |
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |