예제문 컴파일 오류 관련해서..
독특한
책에 있는 예제 소스를 그래도 써서 프로그래밍을 했는데요
에러가 계속 떠서
원인을 모르겠더라구요!..
창피한 이야기이지만 C에 관한 지식이 미약합니다.
컴파일하면 첨부와 같은 에러가 발생하는데 원인을 모르겠어요
질문 내용 :
#include stdio.h
#include stdlib.h
#define MAX_TERMS 10
typedef struct {
int row;
int col;
int value;
}element;
typedef struct SparseMatrix {
element data[MAX_TERMS];
int rows; //셀의 개수
int cols; //열의 개수
int terms; //항의 개수
}SparseMatrix;
//희소 행렬 덧셈 함수
// c = a + b
SparseMatrix sparse_matrix_add2(SparseMatrix a, SparseMatrix b)
{
SparseMatrix c;{
int ca=0, cb=0, cc=0; // 각 배열의 항목을 가르키는 인덱스
// 배열 a와 배열 b의 크기가 같은지를 확인
if( a.rows != b.rows || a.cols != b.cols ){
fprintf(stderr,희소행렬 크기에러\n);
exit(1);
}
c.rows = a.rows;
c.cols = a.cols;
c.terms = 0;
while( ca a.terms && cb b.terms ){
// 각 항목의 순차적인 번호를 계산한다.
int inda = a.data[ca].row * a.cols + a.data[ca].col;
int indb = b.data[cb].row * b.cols + b.data[cb].col;
if( inda indb ){
// a 배열 항목이 앞에 있으면
c.data[cc++] = a.data[ca++];
}
else if( inda == indb ){
// a와 b가 같은 위치
if((a.data[ca].value+
b.data[cb].value)!=0){
c.data[cc].row = a.data[ca].row;
c.data[cc].col = a.data[ca].col;
c.data[cc++].value = a.data[ca++].value +
b.data[cb++].value;
}
else
ca++;
cb++;
}
}
else
// b배열 항목이 앞에 있음
c.data[cc++] = b.data[cb++];
}
//배열 a와 b에 남아 있는 항들을 배열 c로 옮긴다.
for(; ca a.terms;)
c.data[cc++] = a.data[ca++];
for(; cb b.terms;)
c.data[cc++] = b.data[cb++];
c.terms = cc;
return c;
}
//주항수
main()
{
SparseMatrix m1 = {{{ 1,1,5 },{ 2,2,9 }}, 3,3,2 };
SparseMatrix m2 = {{{ 0,0,5 },{ 2,2,9 }}, 3,3,2 };
SparseMatrix m3;
m3 = sparse_matrix_add2(m1, m2);
}
여기 코드 수정좀 부탁드릴께요..어디가 잘못된지 정말 못찾겠네요...;
거기에 main에 결과행렬 m3를 출력하는 출력문을 추가하는 코드도 부탁드릴수 있나요...;
-
재미
int ca=0, cb=0, cc=0; 값을 준건아닌가요?ㅠ
-
재넘이
ca, cb, cc 가 정의되어있지 않다는데요?
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
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 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |
2693704 | 구조체 주소록 문제인데 도와주세요 (2) | 도1도캣 | 2025-05-04 |
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |
2693328 | C언어를이용해서 .txt파일 외에 다른 확장자 파일 삭제가 가능한지.. (2) | 대나무 | 2025-05-01 |
2693299 | 파일입출력 바이너리파일 | 독특한 | 2025-04-30 |