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);
}
}
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é…
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!
[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 }
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 !