Opinião sobre um programa com vetor negativo [RESOLVIDO]

5 respostas
A

Boa tarde pessoal, tenho uma questão pra fazer: Ler uma matriz uma matriz e uma outra que seja o negativo da primeira. Apresentar os elementos das matrizes.

Fiz da seguinte maneira abaixo, colocando o negativo apenas na hora de escrever a matriz. Essa seria uma resposta bem logica. Mas vcs acham que tem uma outra forma de resolver isso, teria que transformar em negativo dentro de algum laço?

public static void main(String[] args) {
     int A [] = new int [10];
     String snum,s= "";
     int num;

     for (int i=0;i<A.length;i++)
     {
      snum = JOptionPane.showInputDialog("digite o valor");
      num = Integer.parseInt(snum);
      A[i] = num;
     }
     for (int i=0;i<A.length;i++)
      {
       s= s+ "-"+A[i]+" , ";
      }

     JOptionPane.showMessageDialog(null, "valores negativos "+s);

    }}

Por favor opinem.

5 Respostas

Andre_Rosa

Seria melhor trabalhar com números inteiros, daí é só multiplicar por -1. Dessa forma não achei tão elegante.

C

Na minha opinião seu exercício está errado, você no enunciado diz que é para construir uma matriz B contendo o negativo dos elementos da matriz A,
bom, cade a matriz B? Se você não a construiu, o exercício está errado na minha opinião.

Andre_Rosa

É verdade, cfred. E têm muita coisa desnecessária aí. Eu faria mais ou menos assim:

int Vetor [] = new int [10];

        Scanner input = new Scanner (System.in);

        for(int i=0; i<Vetor.length; i++) {
            System.out.print("Entre com o "+i+"º numero: ");
            Vetor[i] = input.nextInt();
        }
        System.out.println("\n\nElementos negativos:\n\n");
        for (int i=0; i<Vetor.length; i++){
            System.out.println(Vetor[i] * -1);
        }

Neste caso eu apenas imprimi os valores. Agora, a partir desse exemplo, crie um outro vetor contendo os valores negativos.

dougfane
Seguindo o enunciado do exercício ao pé da letra eu faria:
public class Matrizes{

    static Integer[] B,A = {0,1,2,3,4,5,6,7,8,9};

    static void ConstroiImprimeMatrizB() {
        B = new Integer[10];
        for (int i=0; i<10; i++) {
            B[i] = A[i]*(-1);
            System.out.println(B[i]);
        }
    }

    public static void main(String[] args){
        ConstroiImprimeMatrizB();
    }
}
A

Valeu pessoal, vcs tem razão, pois como eu fiz ficou obvio demais. Obrigada

Criado 11 de junho de 2011
Ultima resposta 11 de jun. de 2011
Respostas 5
Participantes 4