Algoritimo de transpor matriz quadrada!

Bem vo deixar o codigo ai pra galera ver!! conceito sobre matriz eu ja tenho quero é algoritimo no caso de trasmpor a matriz vo deixar o exercicio ai embaixo quem tiver a manha completa ou me da um toque como fazer! tentei…tentei mais naum tem jeito alguém me ajude! lembrado que a LETRA D DO EXERCICIO TODAS AS OUTRAS ESTÂO CERTAS JÀ CONFERI!

/* Crie um aplicativo que leia uma matriz de 5X5 elementos inteiros. Calcular e imprimir:
 
 a)A soma dos elementos da diagonal principal
 b)Gerar um vetor com a soma das colunas
 c)Gerar um vetor com a soma das linhas
 d)Transpor a matriz
*/

import javax.swing.*;

public class Prog17
{
   public static void main(String args[])
   {
      int mat[][]=new int[5][5],c,l,Sc=0,S1=0,Sl=0,j=0,x;
      int vc[]=new int[5],vl[]=new int[5],a=0;   
      int trasmposta[][]= new int [5][5];   
       String saida;   //l  c
      JTextArea saidat = new JTextArea(30,35);
      JScrollPane resultado = new JScrollPane(saidat);
      saida="Programa 17 \n";
      
      for(l=0;l<5;l++)
      {

         for(c=0;c<5;c++)
         {
            mat[l][c]=Integer.parseInt(JOptionPane.showInputDialog(null,"Dígite na linha ["+l+"] e na coluna ["+c+"]","CALCULO DE MATRIZ",JOptionPane.WARNING_MESSAGE));
            //Letra A
            if(c==l)
            S1=S1+mat[l][c];
         
            saida+="["+mat[l][c]+"\t"+c+"]";

            //saida+="\r";
         
         }

         saida+="\n";
         
      }
         saida+="Letra A \n";
      saida+="A soma da diagonal principal é\t"+S1+"\n";
      saida+="*******************************************\n";
      saida+="Letra B \n";
//********************************************* fim da letra a e da entrada de dados *****************************************************************
      for(l=0;l<5;l++)//esse for e das linas
         for(c=0;c<5;c++)// se e soma das colunas, o que representa a coluna veem primeiro
         {
            Sc=Sc+mat[c][l];
            if(c==4)
            {
               
               vc[j++]=Sc;
               Sc=0;
            }
         }
      
      saida+=" A soma das colunas é:\n";
      for(x=0;x<5;x++)
      {
         saida+=vc[x]+"\n";
      }
//**********************************************************fim da letra b **********************************************************************************   
saida+="***********************************************\n";
saida+="Letra C \n";   
      for(c=0;c<5;c++)
         for(l=0;l<5;l++)
         {
             Sl=Sl+mat[c][l];
             if(l==4)
             {
                vl[a++]=Sl;
                Sl=0;
             }
         }
          saida+=" A soma das linhas é:\n";
      for(x=0;x<5;x++)
      {
         saida+=vl[x]+"\n";
      }
//********************************************************fim da letra c*****************************************************************************
saida+="Transpondo a Matriz \n";

  // Minha grande dúvida alguém me ajude tenho que fazer isso o mais rapido possivel!
   
       
      saidat.setText(saida);
      JOptionPane.showMessageDialog(null,resultado);
      

   }
}

Se eu entendir bem a sua pergunta acho q isso deve ajudar.

     for(l=0 ; l<5 ; l++)
        for(c=0 ; c<5 ; c++)
          transposta[c][l] = mat[l][c];          
     
       for(l=0 ; l<5; l++){
        for(c=0 ; c< 5 ; c++)
          saida+= transposta[l][c]+" ";
        saida +="\n";  
       }  

Qualquer coisa tamo ai!

valeu cara ja tentei esse mais deu não deu… vo deixar esse trem de lado
tem jeito de fazer isso não mais obrigado pelo algoritimo" no caso esse ai serve pra matriz tipo 3*2 queria tentar fazer um algoritimo que da pra matriz
quadrada conforme está no link abaixo

hããã! pq n? ñ entendi mesmo qual é o problema…esse trecho de código serve sim para uma matrix quadrada, na verdade ele é para uma matriz quadrada. Num sei mesmo qual é o seu problema…mas se vc diz que ñ serve tudo bem.
Até…

exemplos de matriz transposta:

no caso de quadrada
|1 3| |1 2|t
|2 4| |3 4| percebeu que troca a pega o 2 da linha 2 e o 3 da linha1 e inverte eles esse e o conceito matematico para transpor
matrizes quadradas com seu algoritimo usei com seu algoritimo olha como fico;

isso e foda ninguém que estuda comigo conseguiu resolver mais obrigado por vc ter me dado seu algoritimo.

uma matriz transposta nao é aquela onde a linha vira coluna e vice-versa? haaa não sei, faz um bom tempo que eu estudei isso, mas se for isso mesmo entao olhe para a matriz original e depois olhe para a ultima saida. Depois vc me diz se ocorreu iversao ou nao!

Vc está certo, inverteu sim !

[quote=“edymrex”]valeu cara ja tentei esse mais deu não deu… vo deixar esse trem de lado
tem jeito de fazer isso não mais obrigado pelo algoritimo" no caso esse ai serve pra matriz tipo 3*2 queria tentar fazer um algoritimo que da pra matriz
quadrada conforme está no link abaixo

[quote]


[/quote][/quote]

Testa esse aqui então !

001   public class Transposta
002  {
003  
004    static void transposta(int a[][], int at[][], int m, int n)
005    {
006      for (int i = 0; i < m; i = i + 1)
007        for (int j = 0; j < n; j = j + 1) at[j][i] = a[i][j];
008    }
009  
010    public static void main(String argv[])
011    {
012      int i, j, m, n, mat[][], matTransp[][];
013      m = IO.readInt();
014      n = IO.readInt();
015      mat = new int[m][n];
016      matTransp = new int[n][m];
017      for (i = 0; i < m; i = i + 1)
018        for (j = 0; j < n; j = j + 1) mat[i][j] = IO.readInt();
019      IO.writeln();
020      transposta(mat, matTransp, m, n);
021      for (i = 0; i < n; i = i + 1)
022      {
023        for (j = 0; j < m; j = j + 1) IO.write(matTransp[i][j], 3);
024        IO.writeln();
025      }
026    }
027  
028  }

Flw !

TEVE A MANHA!!!

para dsfextreme
ONDE VC CONSEGIU ISSO CARA?? ATÉ QUEM FIM HEHEHE TEVE A MANHA!! MUITO OBRIGADO!!
SO NÃO ENTEDI COMO FUNCIONA HEHEHE MAIS ISSO TEM K PENSAR BEM PRA FAZER!

[quote=“edymrex”]para dsfextreme
ONDE VC CONSEGIU ISSO CARA?? ATÉ QUEM FIM HEHEHE TEVE A MANHA!! MUITO OBRIGADO!!
SO NÃO ENTEDI COMO FUNCIONA HEHEHE MAIS ISSO TEM K PENSAR BEM PRA FAZER![/quote]

Disponha fí , já apanhei tbm … :oops: com Algebra linear …
Um abraço ! :cool: