포인터로 배열덧셈하는거 입니다
갤쓰리
#include stdio.h
void add_poly(double A[], double B[] , double C[] , int n);
int main(){
double A[6]={5,1,0,3,0,4};
double B[6]={1,0,0,2,0,7};
double C[]={0};
int i=0;
printf(몇차항수까지 덧셈을 할것인가?);
scanf(%d,&i);
add_poly(A,B,C,i);
}
void add_poly(double A[], double B[] , double C[] , int n){
int i=0;
if(n=6){
printf(6보다 밑으로 하세요 );
return 0;
}
for(i=n; i0; i--){
C[i]=A[i]+B[i];
printf(%.f ,C[i]);
}
puts();
}
더해서 꺼구로 출력하려는데.. 안나와요...
그냥 첨부터 출력하면 나오는데... 왜 이런 거죠??
-
두빛나래
감사합니다.. 초기화를 한다고 버릇을 들였는데..아직 미흡하네요... for문도... 감사합니다
-
권애교
C배열의 초기화가 가장 큰 문제구요. 위처럼 초기화 하면, 딸랑 C[0]항만 0으로 초기화돼요.
C[6]={0}처럼 초기화 해주셔야 합니다.
그리고 add_poly()함수 내의 for문이 많이 잘못되었습니다.
아래처럼 바꿔주세요.
for(i=5; i=5-n; i--){
C[i]=A[i]+B[i];
printf(\%d차 항은 %lf \\n\ -
가을c
안되는데요??문제가 배열로 표현된 두 개의 다항식을 서로 더하는 함수를 작성하는거에요 여기서 n은 3개으 ㅣ다항식중에 최대 차수 이구 예를 들어서 다항식 3x^5 +2x^2 + 9 라면 A[0]= 9이구 a[1]= 2 A[2]=0 A[5]=3
이 저장 된다 즉 항의 차수를 인덱스 하여 항의ㅐ 계수가 배열원소에 저장된다.. 입니다.. 왜안도죠?? -
뿌잉
double C[]={0};//선언할때 배열에 숫자를 넣지 않으면 개수를 쓰기때문에 C[1]이 됩니다.;
넘겨줄때도 마찬가지로 C[1]이 되고요
그런데...n으로 5차까지 더한다고 하면....
for(i=n; i0; i--){
C[i]=A[i]+B[i];
printf(\%.f \ -
다연
문제를 정확히 써주세요 아니면 주석을 달아 주시면 답변 드리겠습니다