
rods220
(usa Linux Mint)
Enviado em 16/04/2013 - 04:30h
Eae Galera blz ?
eu deveria fazer um algoritmo para calcular a transposta de uma matriz 2x2 eu consegui , porem eu queria fazer a de 3x3 tambem (no caso o usuario escolheria entre 2x2 ou 3x3) porem ela esta repetindo a posiçao [1][0] exemplo:
Quando eu coloquei matriz[2][2]
matriz= 2 3 matriztransposta = 2 4
4 5 3 5
apos colocar para matriz[a][b] mesmo scaneando os valores 2x2
ele faz
matriz= 2 4 e a transposta igual
4 5
segue o codigo (sei q falta muita coisa mas parei nessa duvida)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a,b;
int i,j,matriz[a][b],transposta[a][b];
printf ("Digite O Numero De Linhas Da Matriz:\n");
scanf (" %d", &a );
printf ("Digite O Numero De Colunas Da Matriz:\n");
scanf (" %d", &b );
for (i = 0;i < a;i++){
for (j = 0;j < b;j++){
printf ("Digite O Valor de a%d%d\n\n",i+1,j+1);
scanf (" %d",&matriz[i][j]);
}
}
for (j = 0 ;j < a; j++ ){
for (i = 0; i < b ; i++ ){
transposta[i][j]=matriz[j][i];
}
}
if (a==2 && b==2){
printf("A Matriz Digitada e: \n \n%d %d\n%d %d\n\n\n",matriz[0][0],matriz[0][1],matriz[1][0],matriz[1][1]);
printf ("A Matriz Transposta e: \n \n%d %d\n%d %d",transposta[0][0],transposta[0][1],transposta[1][0],transposta[1][1]);
}
return 0;
}