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
Un vector y una matriz simplemente son arrelgos.
Busca un poco sobre arreglos unidimensionales y bidimensionales en google.
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>
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:
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
hola horny3 la verdad que me ayudo bastante...muchas Gracias
Hola
Es gratificante tu comentario..!! espero seguir aportando ;-)
Salu2