|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2017
Messaggi: 14
|
[C] Come fare la trasposta di una matrice.....
ragazzi io avrei un problema...praticamente io il mio algoritmo l'ho sviluppato in questo modo:
#include <stdio.h> #define R 100 void trasposta_matrice(int a[][R], int size_riga); int main(void){ int a[R][R]; int i,j; int righe; printf("inserisci gli elementi della matrice quadrata:\n"); scanf("%d", &righe); printf("inserisci gli elementi della matrice a :\n"); for(i=0;i<righe;i++){ for(j=0;j<righe;j++){ scanf("%d", &a[i][j]); } } printf("la matrice e':\n"); for(i=0;i<righe;i++){ for(j=0;j<righe;j++) printf("%d ", a[i][j]); if(j%righe==0){ printf("\n"); } } printf ("la trasposta della matrice e':\n"); trasposta_matrice ( a, righe); for (i=0;i<righe;i++){ for (j=0;j<righe;j++){ printf("%d ", &a[i][j]); if(j%righe==0){ printf("\n"); } } } return 0; } int trasposta_matrice(int a[][R], int size_riga){ int i,j,temp; for (i=0;i<size_riga;i++){ for (j=i+1;j<size_riga;j++){ temp = a[i][j]; a[i][j]=a[j][i]; a[j][i]= temp; } } } tutto bene fino a quando non devo trovare la matrice trasposta....infatti dal prompt escono i seguenti risultati: inserisci gli elementi delle righe: 2 inserisci gli elementi della matrice a : 2 2 2 2 la matrice e': 2 2 2 2 la trasposta della matrice e': 6447616 6447620 6448016 6448020 qualcuno mi può aiutare?...scusate un po il disordine ma sto da stamattina a vedere cosa ho sbagliato ma non trovo l'errore(probabilmente nella function). |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Jun 2017
Messaggi: 14
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:47.