Witajcie. Mam taki problem:
Na zaliczenie semestru z programowania mam zrobić projekt liczący iloczyn dwóch macierzy wpisanych przez użytkownika z klawiatury w języku C. Oto do czego doszedłem:
#include <stdio.h>
int main()
{
int m, n, p, q, c, d, k, sum = 0;
int pierwsza[50][50], druga[50][50], iloczyn[50][50];
printf("Podaj ilosc wierszy pierwszej macierzy: ");
scanf("%d", &m);
printf("Podaj ilosc kolumn pierwszej macierzy: ");
scanf("%d", &n);
printf("\nPodaj elementy pierwszej macierzy:\n\n");
for ( c = 0 ; c < m ; c++ )
for ( d = 0 ; d < n ; d++ )
{
printf("Element o wspolrzednych (%d , %d): ",c+1,d+1);
scanf("%d", &pierwsza[c][d]);
}
printf("\nPodaj ilosc wierszy drugiej macierzy: ");
scanf("%d", &p);
printf("\nPodaj ilosc kolumn drugiej macierzy: ");
scanf("%d", &q);
if ( n != p )
printf("\nMacierze o podanych wymiarach nie moga zostac wymnozone.\n");
else
{
printf("Podaj elementy drugiej macierzy.\n\n");
for ( c = 0 ; c < p ; c++ )
for ( d = 0 ; d < q ; d++ )
{
printf("Element o wspolrzednych ( %d , %d ): ",c+1,d+1);
scanf("%d", &druga[c][d]);
}
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < q ; d++ )
{
for ( k = 0 ; k < p ; k++ )
{
sum = sum + pierwsza[c][k]*druga[k][d];
}
iloczyn[c][d] = sum;
sum = 0;
}
}
printf("\nMacierz pierwsza to: \n\n");
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < n ; d++ )
printf("%d\t", pierwsza[c][d]);
printf("\n");
}
printf("\nMacierz druga to: \n\n");
for ( c = 0 ; c < p ; c++ )
{
for ( d = 0 ; d < q ; d++ )
printf("%d\t", druga[c][d]);
printf("\n");
}
printf("\nMacierz bedaca iloczynem podanych macierzy to: \n\n");
for ( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < q ; d++ )
printf("%d\t", iloczyn[c][d]);
printf("\n");
}
}
FILE *plik_zapis;
if((plik_zapis=fopen( "wynik.txt" , "w" ))!=NULL)
{
for( c = 0 ; c < m ; c++ )
{
for ( d = 0 ; d < q ; d++ )
{
fprintf(plik_zapis,"%d\t",iloczyn[c][d]);
// printf("\n");
}
fclose(plik_zapis);
printf("Zakonczono zapis do pliku.\n\n");
}}
else
printf("Blad zapisu pliku!\n\n");
system("PAUSE");
return 0;
}
Porblem polega na tym, że nie wiem jak zrobić, aby w pliku wynik.txt liczby były zapisane jako macierz, a nie jedna za drugą. Czyli np maciesz 2 x 2, to byłoby: liczba (spacja) liczba (enter) liczba (spacja) liczba.
Mógłby mi ktoś to poprawić w kodzie? Czy mógłbym o to prosić? Z góry dzięki :)