mam taki problem napisalem program transponujacy macierz do rozmiaru 3x3 i w przypadkach gdy liczba wierszy nie jest rowna liczbie kolumn resetuje mi wartosc podczas transponowania ocb?:)
Kod: Zaznacz cały
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{float mac[2][2];
int i, j,k,m,z,g,a,b;
printf("podaj liczbe wierszy macierzy
");
scanf("%d",&i);
printf("podaj liczbe kolumn macierzy
");
scanf("%d",&j);
if((i<=0)||(j<=0)){
printf("rozmiar macierzy nieprawidlowy");
}
else if((i>3)||(j>3)){
printf("rozmiar macierzy jest wiekszy niz musialem zrobic:)");
}
else if((i==1)&&(j==1)){
printf("macierz 1 wyrazowa, nie da sie wykonac operacji transponowania");
}
else{ for(m=-i;m<0;m++){
z=-m;
a=z-1;
for(k=-j;k<0;k++){
g=-k;
printf("podaj wartosc wyrazu o wspolrzednych %d %d
",z,g);
b=g-1;
scanf("%f", &mac[a][b]);
}
}
}
printf("
Macierz przed transponowaniem:
");
for(a=0;a<i;a++){printf("
");
for(b=0;b<j;b++)
printf("%.1f ", mac[a][b]);}
printf("
Macierz po transponowaniu:
");
for(b=0;b<j;b++){printf("
");
for(a=0;a<i;a++)
printf("%.1f ", mac[b][a]);}
system("PAUSE");
return 0;
}