희소행렬에서 전치행렬로 넘어갈떄
마법
#include stdio.h
#include stdlib.h
#define size 50
typedef struct triple {
int row;
int col;
int value;
} triple;
void transposes(triple a[], triple b[])
{
int m, n, t, i, j, p;
m=a[0].row;
n=a[0].col;
t=a[0].value;
b[0].row=n;
b[0].col=m;
b[0].value=t;
if(t0){
p=1;
for(i=0; in; i++)
for(j=1; j=t; j++)
if(a[j].col == i){
b[p].row=a[j].col;
b[p].col=a[j].row;
b[p].value=a[j].value;
p++;
}
}
}int main()
{
triple a[size];
triple b[size];
int i, j;
int y, x;
printf(행의 수, 열의 수,원소의 수를 입력하시오.\n);
scanf(%d %d %d, &a[0].row, &a[0].col, &a[0].value);
j=a[0].value;
printf(행의 값, 열의 값,원소의 값을 입력하시오.\n);
for(i=1; ij+1; i++)
{
scanf(%d %d %d, &a[i].row, &a[i].col, &a[i].value);
}
printf(\n);
printf(희소행렬\n);
for(i=0; ij+1; i++)
{
printf(%d %d %d \n, a[i].row, a[i].col, a[i].value);
}
printf(\n);
printf(전치 행렬로 변환? y or x \n);
scanf( %d,%d,&y,&x);
if(i == y){
transposes(a,b);
printf(전치행렬\n);
for(i=0; ib[0].value+1; i++)
{
printf(%d %d %d \n, b[i].row, b[i].col, b[i].value);
}
system(pause);
}
return 0;
}
다른건 잘 되는데
여기서 전치 행렬을 실행하시겠습니까?? 란 질문을 넣어서 전치행렬로 바꿔야 하는데 if문을 쓰는데 자꾸 막히네요 ;
어디다가 넣어야지 안막히는지가 궁금합니다.