当我只在结构中保存非零索引时,如何在两列索引之间打印矩阵线?
基本上,我需要基于矩阵的最右索引和矩阵的最左索引,如果该行中的至少一个索引不是那么,则在两个值之间打印该矩阵线。 t为零,如果我要打印的行在行的绑定之间。
我有一个结构,我可以在其中存储每个输入的行,列和值,这样我就不必生成一个充满“0”的巨大矩阵'我有一个变量来计算我存储了多少个值。
int searchForLine(unsigned int l){
int i;
for(i=0;i<matrixcount;i++){
if((auxMatrix[i].line == l)&&(auxMatrix[i].column<=workingMatrix.maxCol)&&(auxMatrix[i].column>= workingMatrix.minCol))
return (int)auxMatrix[i].value;
}
return (int)workingMatrix.zero;
}
void print_line(){
unsigned int ii,i,userLine;
scanf("%u", &userLine);
if((userLine<workingMatrix.minLine) || (userLine>workingMatrix.maxLine)){
printf("empty line\n");
}
else{
for(ii=0;ii<matrixcount;ii++){
if(auxMatrix[ii].line!=userLine){
printf("empty line\n");break;
}else{;}
}
for(i=workingMatrix.minCol;i<workingMatrix.maxCol;i++){
printf("%u ",searchForLine(userLine));
}
}
printf("\n");
}
如果输入是,请说
3 3 3.0
3 0 4.0
print_line(3)->
4.0 0.0 0.0 3.0
我当前的代码仅打印0.0&#39>