Vetor bidimensional. Duvida

to ficando doidinha ja!!!

olhem e que eu fiz:

 for (int i = 0; i < A.length; i++){  
 		 C[0] = A;  
 		 }  
 		
 		for (int i = 0; i < B.length; i++ ){
 			C[1] = B;
 		}
 		
 		 String saida="";
 	      for (int i = 0; i < 7; i++) {  
 	         for(int j = 0; j < 2; j++) {  
 	        	saida += "C[" +i+ "][" +j+ "]=" + C[i][j] + "\n";	  
 	         }  
 	         
 	          }  
 	     JOptionPane.showMessageDialog(null,saida);
  
 	      }  
 	 } 

So que ele imprime errado…

[quote=cristianequeiroz1]to ficando doidinha ja!!!

olhem e que eu fiz:

 for (int i = 0; i < A.length; i++){  
 		 C[0] = A;  
 		 }  
 		
 		for (int i = 0; i < B.length; i++ ){
 			C[1] = B;
 		}
 		
 		 String saida="";
 	      for (int i = 0; i < 7; i++) {  
 	         for(int j = 0; j < 2; j++) {  
 	        	saida += "C[" +i+ "][" +j+ "]=" + C[i][j] + "\n";	  
 	         }  
 	         
 	          }  
 	     JOptionPane.showMessageDialog(null,saida);
  
 	      }  
 	 } 

So que ele imprime errado…

[/quote]

Se você vai usar

C[0] = A;  

não precisa do FOR antes…

E o que imprime errado?? Você que imprima em colunas?? Mais bonitinho?? Porque ficou certo aqui…

Voce fez algo meio doido ai msm…

voce está atribuindo o array A na posição 0 várias vezes e atribuindo o array B na posição 1 várias vezes…

olha os posts denovo… acho que sua questão está respondida… :slight_smile:

thegoergen ,

a solução de colocar

C[0] = A;
C[1] = B;

não faz sentido se voce quiser colocar os valores de A na coluna 0 de C e valores de B na coluna 1 de C.

Nesse caso voce está colocando os valores de A na linha 0 de C e valores de B na linha 1 de C.

Sendo que o array C só tem 2 colunas por linha e voce está inserindo 7 colunas em cada linha, não vai dar certo.

pense no exemplo, C[3][0].

O que vai imprimir?

Fica assim entao???
Vou printar a tela e mandar pra vcs!

[code]import javax.swing.JOptionPane;
class Exercicio8 {
public static void main(String arg[]) {
int A[] = new int[7];
int B[] = new int[7];
int C[][] = new int [7][2];

     for (int i = 0; i < 7; i++) {
		String a = JOptionPane.showInputDialog(null, "Digite o valor A ["
				+ i + "]");
		A[i] = Integer.parseInt(a);
	}
	for (int i = 0; i < 7; i++) {
		String b = JOptionPane.showInputDialog(null, "Digite o valor B ["
				+ i + "]");
		B[i] = Integer.parseInt(b);
	}
	  
	C[0]=A;
	C[1]= B;
	
	 String saida="";
      for (int i = 0; i < 7; i++) {  
         for(int j = 0; j < 2; j++) {  
        	saida += "C[" +i+ "][" +j+ "]=" + C[i][j] + "\n";	  
         }  
         
          }  
     JOptionPane.showMessageDialog(null,saida);

      }  
 } 

[/code]

Cris!

Você está errando na hora de montar a String de saída, os FORS estão invertidos. Tenta isso aqui:


 String saida="";
	    for (int i = 0; i < 2; i++) { // Primeiro o 2
		  for(int j = 0; j < 7; j++) { // Depois o 7
			saida += "" + C[i][j] + " "; // Coloca tudo numa linha
		  }
		  saida += "\n"; // Acabou isso, então começa uma nova linha
	    }

Assim vai ficar mais legível.

[quote=GustavoLaguna]thegoergen ,

a solução de colocar

C[0] = A;
C[1] = B;

não faz sentido se voce quiser colocar os valores de A na coluna 0 de C e valores de B na coluna 1 de C.

Nesse caso voce está colocando os valores de A na linha 0 de C e valores de B na linha 1 de C.

Sendo que o array C só tem 2 colunas por linha e voce está inserindo 7 colunas em cada linha, não vai dar certo.

pense no exemplo, C[3][0].

O que vai imprimir?[/quote]

Realmente estranho… mas funcionou :shock:

Tenho certeza, porque testei isso. Mas eu acho que a matriz tem 2 linhas e 7 colunas, não??

Boa, mas coloca uma vírgula no final, pra separar…

saida += “” + C[i][j] + ", ";

thegoergen ,

teu código funciona se

int[][] C = new int[2][7];

mas no exemplo tava

int[][] C = new int[7][2];

[quote=GustavoLaguna]thegoergen ,

teu código funciona se

int[][] C = new int[2][7];

mas no exemplo tava

int[][] C = new int[7][2]; [/quote]

É verdade… eu fiz invertido… =)

Eu criei de um jeito, inverti para colocar os valores, e depois inverti para mostrar o resultado de novo… hehehhehe

O que importa é que o resultado final ficou bom! =)

public static void main(String arg[]) {
	    int A[] = new int[7];
	    int B[] = new int[7];
	    int C[][] = new int [7][2];
	    
	    for (int i = 0; i < 7; i++) {
		  A[i] = i;
	    }
	    for (int i = 0; i < 7; i++) {
		  B[i] = i+10;
	    }
	    
	    C[0] = A;
	    C[1] = B;
	    
	    String saida="";
	    for (int i = 0; i < 2; i++) {
		  for(int j = 0; j < 7; j++) {
			saida += "" + C[i][j] + " ";
		  }
		  saida += "\n";
	    }
	    JOptionPane.showMessageDialog(null,saida);
	    
	    
	    System.exit(0);
      }

Agora sim! :thumbup:

Mais eu preciso imprimir em coluna…
ele ta imprimindo so em linha o que eu tenho que mudar?

[quote=GustavoLaguna]Da pra melhorar bastante esse código ainda…

[code]
import javax.swing.JOptionPane;
class Exercicio8 {
public static void main(String arg[]) {
int A[] = new int[7];
int B[] = new int[7];
int C[][] = new int [7][2];

     for (int i = 0; i < 7; i++) {
	A[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor A [" + i + "]"));  
      
     }   
    
     for (int i = 0; i < 7; i++) {         
            B[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Digite o valor B ["+ i + "]"));  
     } 
     
 for (int i = 0; i < 7; i++) {
	C[i][0] = A[i];
	C[i][1] = B[i];
 } 

 for (int i = 0; i < 7; i++) {
	for(int j = 0; j < 2; j++) {
 		System.out.println("C["+i+"]["+j+"] = "+ C[i][j]);
	}
     }
 	
 }

}
[/code][/quote]

Não testei o código, mas deve funcionar assim.

[quote=cristianequeiroz1]Mais eu preciso imprimir em coluna…
ele ta imprimindo so em linha o que eu tenho que mudar?[/quote]

Você vai ter quer ver isso melhor… Realmente o código que eu fiz tem 2 linhas e 7 colunas… você vai ter que trocar esses valores.

É um ótimo teste para ver se sua “lógica com matrizes” está boa. :wink:

[EDIT]
Mas uma dica, você vai ter que tirar aquela parte de colocar os vetores inteiros sobre a matriz…

Tente mais uma vez, se mesmo assim não conseguir, poste aqui de novo