Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Sastaviti na jeziku C program za transponovanje
- pravougaone matrice celih brojeva. Matricu
- smestiti u dinamičku zonu memorije. Postupak
- ponavljati sve dok se za dimenzije matrice ne
- unesu nekorektne vrednosti.*/
- #include <stdio.h>
- #include <stdlib.h>
- void main () {
- int **a, **b, m, n, i, j;
- printf ("\nBroj vrsta i kolona? ");
- scanf ("%d%d", &m, &n);
- while (m>0 && n>0) {
- /* Stvaranje matrice i citanje elemenata matrice: */
- a = malloc (m*sizeof(int*));
- for (i=0; i<m; i++) {
- a[i] = malloc (n*sizeof(int));
- printf ("%2d. vrsta? ", i);
- for (j=0; j<n; j++) scanf ("%d", &a[i][j]);
- }
- /* Obrazovanje transponovane matrice: */
- b = malloc (n*sizeof(int*));
- for (i=0; i<n; i++) {
- b[i] = malloc (m*sizeof(int));
- for (j=0; j<m; j++) b[i][j] = a[j][i];
- }
- /* Ispisivanje rezultata: */
- printf ("\nTransponovana matrica:\n");
- for (i=0; i<n; i++){
- for (j=0; j<m; j++) printf ("%5d", b[i][j]);
- printf ("\n");
- }
- /* Unistavanje matrica: */
- for (i=0; i<m; i++) free (a[i]); free (a);
- for (i=0; i<n; i++) free (b[i]); free (b);
- /* Citanje dimenzija matrice: */
- printf ("\nBroj vrsta i kolona? ");
- scanf ("%d%d", &m, &n);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement