public class ordenar5 {
public static void main(String args[])
{Scanner leer= new Scanner(System.in);
int vec1[],vec2[],vecR[];
int n,m,nm;
System.out.print("Cuantos elementos tiene el vector 1? ");
n=leer.nextInt();
System.out.print("Cuantos elementos tiene el vector 2? ");
m=leer.nextInt();
nm=n+m;
// Dimensiono los vectores
vec1= new int[n];
vec2=new int[m];
vecR= new int[nm];
// LLeno los vectores 1 y 2
System.out.println("****Lectura Primer vector ordenado****");
llenarVector(vec1,n);
System.out.println("****Lectura Segundo vector ordenado****");
llenarVector(vec2,m);
// Crear vector resultante ordenado
vecR = ordenaVector(vec1,vec2,n,m);
// Mostrar vector resultante
System.out.println("**** vector resultante ordenado****");
mostrarVector(vecR,nm);
}
/**
* Metodo que permite llenar un vector conociendo
* su dimension
**/
static void llenarVector(int v[],int dim)
{
for (int i=0;i<dim;i++)
{Scanner leer= new Scanner(System.in);
System.out.print("v["+i+"]= ");
v[i]=leer.nextInt();
}
}
/**
* Metodo que crea un vector ordenado a
* partir de dos vectores ordenados recibidos
* como parametro
**/
static int[] ordenaVector(int v1[],int v2[],int dim1,int dim2)
{
int vr[];
vr=new int[dim1+dim2];
int i=0;// variable para controlar el indice del primer vector
int j=0;// variable para controlar el indice del segundo vector
int k=0;// variable para controlar el indice del vector resultante
while((i<dim1)&&(j<dim2))
{
if(v1[i]<v2[j])
{
vr[k]=v1[i];
k++;
i++;
}
else
{
if(v2[j]<v1[i])
{
vr[k]=v2[j];
k++;
j++;
}
else
{
vr[k]=v1[i];
k++;
i++;
j++;
}
}
}// fin del while
if (i==dim1)
{
for(int p=j;p<dim2;p++)
{
vr[k]=v2[p];
k++;
}
}
else
{
for(int p=i;p<dim1;p++)
{
vr[k]=v1[p];
k++;
}
}
return vr;
}
/**
* Metodo que muestra un vector dada su dimension
*
**/
static void mostrarVector(int v[],int dim)
{
for(int i=0;i<dim;i++)
{
System.out.println("v["+i+"]= "+v[i]);
}
}
}
Matrices
public class Matrices {
public static void main (String args[])
{Scanner leer= new Scanner(System.in);
System.out.println("Dame el tamaño de la matriz ");
int tam=leer.nextInt();
int m[][]=new int [tam][tam];
Llenar(m,tam);
Imprimirmat(m,tam);
Sumarf(m,tam);
Sumarc(m,tam);
int sumd=Sumarp(m,tam);
int sumars=Sumards(m,tam);
System.out.println ("La suma de las diagonales son "+sumd +" de la diagonal principal ");
System.out.println("de la diagonal secundaria "+sumars);
}
static void Llenar(int ma[][],int t)
{
System.out.println ("Dame los valores de la matriz");
for (int i=0;i<t;i++)
for(int j=0;j<t;j++)
{Scanner leer= new Scanner(System.in);
ma[i][j]=leer.nextInt();
}
}
static void Imprimirmat(int m[][],int t)
{
System.out.println("La matriz queda");
for(int i=0;i<t;i++)
{
for(int j=0;j<t;j++)
{
System.out.print(m[i][j]+" ");
}
System.out.println();
}
}
static void Sumarf(int ma[][],int t) //Sumar por filas
{
int acum=0;
int v[]=new int[t];
for (int i=0;i<t;i++)
{
for(int j=0;j<t;j++)
{
acum+=ma[i][j];
}
v[i]=acum;
acum=0;
}
System.out.println("El resultado de sumar las filas es ");
Imprimir (v,t);
}
static void Sumarc(int ma[][],int t) // Sumar por columnas
{
int acum=0;
int v[]=new int[t];
for (int j=0;j<t;j++)
{
for(int i=0;i<t;i++)
{
acum+=ma[i][j];
}
v[j]=acum;
acum=0;
}
System.out.println ("El resultado de sumar las columnas es ");
Imprimir(v,t);
}
static int Sumarp(int m[][],int t) // Suma de la diagonal principal
{
int acum=0;
for(int i=0;i<t;i++)
{
acum+=m[i][i];
}
return acum;
}
static int Sumards (int m[][],int t) //Suma de la diagonal secundaria
{
int acum=0;
int h=t;
for(int i=0;i<t;i++)
{
--h;
acum+=m[i][h];
}
return acum;
}
static void Imprimir (int v[],int t)
{
for(int i=0;i<t;i++)
{
System.out.print(v[i]+" ");
}
System.out.println();
}
}