java como pasar valores de 2 vectores a una matriz

Iniciado por alefox123, 10 Septiembre 2012, 23:14 PM

0 Miembros y 1 Visitante están viendo este tema.

alefox123

hola yo queria saber si me podrian ayudar con este problema... tengo que cargar dos vectore de x posiciones y sumar cada vector... si la suma del vector uno es mas mayor a la suma del vector 2 ... colocar dentro de una matriz en la pimera fila y si es menor en la segunda....

el problema es que no puedo pasar los valores de los vectores a la matriz alguien me podria ayudar.... graficamente seria algo asi


vetores:

vect1  vect2                                        matriz
2           1                                           2222
2           1                                           1111
2           1
2           1


desde ya mucha gracias

[Case]

Un vector y una matriz simplemente son arrelgos.
Busca un poco sobre arreglos unidimensionales y bidimensionales en google.

horny3

Hola  ;-)

Te paso la solucion, espero no sea muy tarde..!!  :o

1.- Esta clase sirve para introducir datos x teclado, solo tienes q importarla <import>

Código (java) [Seleccionar]

package Utilitarios;

import java.io.*;

public class Leer
{
  public static String dato()
  {
    String sdato = "";
    try
    {
      // Definir un flujo de caracteres de entrada: flujoE
      InputStreamReader isr = new InputStreamReader(System.in);
      BufferedReader flujoE = new BufferedReader(isr);
      // Leer. La entrada finaliza al pulsar la tecla Entrar
      sdato = flujoE.readLine();
    }
    catch(IOException e)
    {
      System.err.println("Error: " + e.getMessage());
    }
    return sdato; // devolver el dato tecleado
  }
 
  public static short datoShort()
  {
    try
    {
      return Short.parseShort(dato());
    }
    catch(NumberFormatException e)
    {
      return Short.MIN_VALUE; // valor más pequeño
    }
  }
 
  public static int datoInt()
  {
    try
    {
      return Integer.parseInt(dato());
    }
    catch(NumberFormatException e)
    {
      return Integer.MIN_VALUE; // valor más pequeño
    }
  }
 
  public static long datoLong()
  {
    try
    {
      return Long.parseLong(dato());
    }
    catch(NumberFormatException e)
    {
      return Long.MIN_VALUE; // valor más pequeño
    }
  }
 
  public static float datoFloat()
  {
    try
    {
      Float f = new Float(dato());
      return f.floatValue();
    }
    catch(NumberFormatException e)
    {
      return Float.NaN; // No es un Número; valor float.
    }
  }
 
  public static double datoDouble()
  {
    try
    {
      Double d = new Double(dato());
      return d.doubleValue();
    }
    catch(NumberFormatException e)
    {
      return Double.NaN; // No es un Número; valor double.
    }
  }
}



2.- Esta clase seria la solucion en "si"  :rolleyes:

  • Creamos 2 Vectores, v1 y v2
  • Damos el tamaño de cada vector
  • Los cargamos con datos desde el teclado, utilizando la clase Leer
  • Sumamos cada vector para saber cual es el vector mayor
  • Si la la suma total de cada vector, son iguales--> nos da un mensaje "Suma de totales iguales"
:(
  • Si a la suma total del vector 1, es mayor la suma total del vector 2.. entonces ste vector sera nuestra "PRIMERA FILA" de la nueva matriz
  • Si a la suma total del vector 2, es mayor la suma total del vector 1.. entonces ste vector sera nuestra "PRIMERA FILA" de la nueva matriz
  • Mostramos la nueva Matriz.!  :silbar:

Código (java) [Seleccionar]


package matriz;
import Utilitarios.Leer;
public class Matriz
{
    //Metodo para calcular la suma de los vectores.
    static public int sumaV(int v[], int tamaño)
    {
        int suma=0;
        for(int i=0; i<tamaño;i++)
        {
            suma+=v[i];
        }
        return suma;       
    }
    public static void main(String[] args)
    {
        int t, suma1, suma2; //Tamaño del vector
        do
        {
            System.out.print("Tamaño --> ");           
            t=Leer.datoInt();
        }while(t<1); //Mientras sea menor q' 1 seguira en el bucle.
       
        System.out.println();
        System.out.println("********* Vector #1 *********\n");
       
        int v1[]= new int[t];//Declaramos y creamos el vector
       
        //Damos valores al vector
        for(int i=0; i<t;i++)
        {
            System.out.print("\t["+i+"] -> ");
            v1[i]=Leer.datoInt();
        }
        //Hacemos la suma Total
        suma1=sumaV(v1,t);
        System.out.println("\n\tSuma Total : "+suma1);       
        System.out.println();
        System.out.println("********* Vector #2 *********\n");
       
        int v2[]= new int[t];//Declaramos y creamos el vector
       
        //Damos valores al vector
        for(int i=0; i<t;i++)
        {
            System.out.print("\t["+i+"] -> ");
            v2[i]=Leer.datoInt();
        }
        //Hacemos la suma Total
        suma2=sumaV(v2,t);
        System.out.println("\n\tSuma Total : "+suma2); 

        //Declaracion y creacion de la Matriz
        int matriz[][]= new int[t][t];
        int i,j; //Variables de los bucles

        //Comparaciones
        System.out.println("\n****** Comparaciones ******\n");

        //Totales iguales
        if(suma1==suma2)
        {
            System.out.println("Las sumas totales son iguales .!");
        }

        //La suma del vector 1, es mayor a la suma del vector 2
        if(suma1>suma2)
        {
            System.out.println("Vector 1 es Mayor .!\n");
            for(i=0;i<t;i++)
            {
                for(j=0;j<t;j++)
                {
                     //Fila 0
                    if(i==0)
                    {
                        matriz[i][j]=v1[j];
                        System.out.print("\t "+v1[j]);
                    }
                     //Fila 1
                    if(i==1)
                    {
                        matriz[i][j]=v2[i];
                        System.out.print("\t "+v2[j]);
                    }           
                }
                System.out.println();//para q valla a la sgte fila
            }
        }

         //La suma del vector 2, es mayor a la suma del vector 1
        if(suma2>suma1)
        {
            System.out.println("Vector 2 es Mayor .!\n");
            for(i=0;i<t;i++)
            {
                for(j=0;j<t;j++)
                {
                    //Fila 0
                    if(i==0)
                    {
                        matriz[i][j]=v2[j];
                        System.out.print("\t "+v2[j]);
                    }
                    //Fila 1
                    if(i==1)
                    {
                        matriz[i][j]=v1[i];
                        System.out.print("\t "+v1[j]);
                    }
                }
                System.out.println();//para q valla a la sgte fila
            }
        }     

        //La Matriz
       System.out.println("********* La Matriz *********\n");
             for(i=0;i<t;i++)
                for(j=0;j<t;j++)
                {
                     //Fila 0
                    if(i==0)
                    {
                        matriz[i][j]=v1[j];
                        System.out.println("\t["+i+"]["+j+"] -> "+v1[j]);
                    }
                     //Fila 1
                    if(i==1)
                    {
                        matriz[i][j]=v2[i];
                        System.out.println("\t["+i+"]["+j+"] -> "+v2[j]);
                    }
                }
    }
}



:D

Salu2
Observo, analizo y callo mientras me voy decepcionando en silencio.

alefox123

hola horny3 la verdad que me ayudo bastante...muchas Gracias

horny3

Hola

Es gratificante tu comentario..!! espero seguir aportando  ;-)

Salu2
Observo, analizo y callo mientras me voy decepcionando en silencio.