Laboratorio 04 -DV
-
Upload
alex-edwin -
Category
Documents
-
view
218 -
download
1
description
Transcript of Laboratorio 04 -DV
NOMBRE:
CCALLA CHOQUE EDWIN ALEX
GRUPO LABORATORIO: “A”
Laboratorio 04: Divide y Vencerás
1. Obtener suma de los N Elementos de un array.
public static int suma(int arr[], int izq, int der){
if(izq==der)return arr[izq];
else{
int medio=(izq+der)/2;return suma(arr,izq,medio)
+suma(arr,medio+1,der);}
}
public static void main(String[]args){
System.out.println("Suma de N-elementos de un array");int array[]={-2,3,4,7,2};int s=suma(array,0,array.length-1);System.out.println(s);
}
2. Obtener el N-ésimo elemento menor de un array con N elementos no ordenados.
public static int menor(int arr[],int n, int men,int inf, int vk)
{if(n==0)
return vk;
if(arr[n-1]<men && arr[n-1]>inf){
men=arr[n-1];vk=arr[n-1];
}return menor(arr,n-1,men,inf,vk);
}
public static int valorNEsimo(int arr[],int k, int n, int menor, int inf, int vk){
inf=vk;
if(k==0)return vk;
vk=menor(arr,n, menor,inf,vk);return valorNEsimo(arr,k-1,n,menor,inf,vk);
}
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int array[]={-2,3,4,7,2};
System.out.println("N-esimo elemento menor de un array");int nesimo=0;int k=scan.nextInt();if(k>=1 && k<=array.length){
nesimo= valorNEsimo(array,k,5,999999,-999999, -999999);
System.out.println("El " +k + "-esimo elemento es: "+nesimo);
}else
System.out.println("Error");
}
3. Obtener el array resultado de la suma de 2 arrays de N elementos.
private static int[] sumaArreglos(int []arr1, int arr2[], int res[], int izq , int der){
if(izq==der)res[izq]=arr1[izq]+arr2[izq];
else{
int medio=(izq+der)/2;
sumaArreglos(arr1, arr2, res, izq,medio);sumaArreglos(arr1, arr2, res, medio+1,der);
}return res;
}
public static void main(String[]args){
System.out.println("Suma de dos array de N elementos");int array1[]={-2,3,4,7,2};int array2[]={4,6,4,0,1};int r[] = new int[array.length];int n=r.length;
sumaArreglos(array1, array2,r,0,n-1);
System.out.println("Su suma:");for(int i=0;i<n; i++){
System.out.print(r[i]+" ");
}
}