Witam. Chce napisac program, który wczytuje macierz, wypisuje ja a nastepnie transponuje i ponownie wypisuje. Napisana mam funkcje transponujaca, lecz nie wiem jak poprawnie ja wypisać. Jak to zrobic?
Mój kod:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <stdlib.h>
void wczytujaca(int x, int y,int macierz[y][x])
{
for(int i=0; i<x; i++)
{
for(int j=0; j<y; j++)
{
printf("Podaj %d element %d kolumny: ", i+1, j+1);
scanf("%d", &macierz[i][j]);
}
}
}
void wypisujaca(int x,int y, int macierz[y][x])
{
for(int i=0; i<x; i++)
{
for(int j=0; j<y; j++)
{
printf("%d\t", macierz[i][j]);
}
printf("\n");
}
}
int zamieniajaca(int x,int y, int macierz[y][x])
{
int t_macierz[y][x];
for(int i=0; i<y; i++)
{
for(int j=0; j<x; j++)
{
int tmp=macierz[i][j];
t_macierz[j][i]=tmp;
}
}
return t_macierz;
}
int wyzn(int x, int y,int macierz[x][y])
{
return((macierz[0][0]*macierz[1][1])-(macierz[0][1]*macierz[1][0]));
}
int main(void)
{
int a, b;
printf ("Podaj ilosć kolumn macierzy: ");
scanf ("%d", &a);
printf ("Podaj ilosć wierszy macierzy: ");
scanf ("%d", &b);
int macierz[b][a];
int dr_macierz[b][a];
wczytujaca(b,a,macierz);
printf("Macierz:\n");
wypisujaca(b,a,macierz);
printf("\n");
dr_macierz[b][a]=zamieniajaca(b,a,macierz);
wypisujaca(b,a,dr_macierz);
return 0;
}