PieceSpencer
21-12-2017, 18:20
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).
#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).