목차
1. 프로젝트에 대한 설명
2. 프로그램 소스코드
3. 실행 화면
4. 프로젝트의 수행 후기
2. 프로그램 소스코드
3. 실행 화면
4. 프로젝트의 수행 후기
본문내용
tok(temp," ");
q=strtok(NULL," ");
r=strtok(NULL," ");
m2->rows=*p-48;
m2->cols=*q-48;
m2->terms=*r-48;
k=m2->terms;
i=0;
while(k>0)
{
fgets(temp,100,sensor);
p=strtok(temp,tk);
q=strtok(NULL,tk);
r=strtok(NULL,tk);
m2->data[i].row=*p-48;
m2->data[i].col=*q-48;
m2->data[i++].value=*r-48;
k--;
}
}
fprint_matrix(fp, m1, "input1"); //첫번째 행렬을 출력한다
fprint_matrix(fp, m2, "input2"); //두번째 행렬을 출력한다
transpose_matrix(m1,m3,m1->terms);
fprint_matrix(fp, m3, "trans1"); //첫번째 행렬의 전치행렬을 출력한다
transpose_matrix(m2,m4,m2->terms);
fprint_matrix(fp, m4, "trans2"); //두번째 행렬의 전치행렬을 출력한다
add_matrix(m1,m2,m5);
fprint_matrix(fp, m5, "add"); //두 행렬의 덧셈을 출력한다
sub_matrix(m1,m2,m6);
fprint_matrix(fp, m6, "sub"); //두 행렬의 뺄셈을 출력한다
mul_matrix(m1,m2,m7);
fprint_matrix(fp, m7, "mul"); //두 행렬의 곱셈을 출력한다
return 0;
free(m1);
free(m2);
free(m3);
free(m4);
free(m5);
free(m6);
free(m7);
fclose(sensor);
fclose(fp);
}
3. 실행 화면
4. 프로젝트의 수행 후기
자료구조에서 배운 내용을 전반적으로 많이 다룬 프로젝트였다. 구조체, 포인터에 대한 공부가 특히 많이 되었고, 파일 입출력에 대해서는 잘 몰라서 고생을 많이 하였다. fscnaf, fgets, strtok 등 입력을 받아서 쪼개는 과정까지 어느정도 습득을 하였고, 비주얼C로 소스를 짜고 유닉스로 옮기는 과정에서 두 컴파일러의 차이로 소스가 안 돌아갔서 다시 수정하는 작업에서 많은 시간이 필요하였다. 유닉스를 처음 써보는 거라 비주얼이 더 익숙하지만 다음 프로젝트에서는 유닉스로 모든 프로그램을 작성하겠다.
q=strtok(NULL," ");
r=strtok(NULL," ");
m2->rows=*p-48;
m2->cols=*q-48;
m2->terms=*r-48;
k=m2->terms;
i=0;
while(k>0)
{
fgets(temp,100,sensor);
p=strtok(temp,tk);
q=strtok(NULL,tk);
r=strtok(NULL,tk);
m2->data[i].row=*p-48;
m2->data[i].col=*q-48;
m2->data[i++].value=*r-48;
k--;
}
}
fprint_matrix(fp, m1, "input1"); //첫번째 행렬을 출력한다
fprint_matrix(fp, m2, "input2"); //두번째 행렬을 출력한다
transpose_matrix(m1,m3,m1->terms);
fprint_matrix(fp, m3, "trans1"); //첫번째 행렬의 전치행렬을 출력한다
transpose_matrix(m2,m4,m2->terms);
fprint_matrix(fp, m4, "trans2"); //두번째 행렬의 전치행렬을 출력한다
add_matrix(m1,m2,m5);
fprint_matrix(fp, m5, "add"); //두 행렬의 덧셈을 출력한다
sub_matrix(m1,m2,m6);
fprint_matrix(fp, m6, "sub"); //두 행렬의 뺄셈을 출력한다
mul_matrix(m1,m2,m7);
fprint_matrix(fp, m7, "mul"); //두 행렬의 곱셈을 출력한다
return 0;
free(m1);
free(m2);
free(m3);
free(m4);
free(m5);
free(m6);
free(m7);
fclose(sensor);
fclose(fp);
}
3. 실행 화면
4. 프로젝트의 수행 후기
자료구조에서 배운 내용을 전반적으로 많이 다룬 프로젝트였다. 구조체, 포인터에 대한 공부가 특히 많이 되었고, 파일 입출력에 대해서는 잘 몰라서 고생을 많이 하였다. fscnaf, fgets, strtok 등 입력을 받아서 쪼개는 과정까지 어느정도 습득을 하였고, 비주얼C로 소스를 짜고 유닉스로 옮기는 과정에서 두 컴파일러의 차이로 소스가 안 돌아갔서 다시 수정하는 작업에서 많은 시간이 필요하였다. 유닉스를 처음 써보는 거라 비주얼이 더 익숙하지만 다음 프로젝트에서는 유닉스로 모든 프로그램을 작성하겠다.
소개글