Laboratorio 04 -DV

5
NOMBRE: CCALLA CHOQUE EDWIN ALEX GRUPO LABORATORIO: “A”

description

Laboratorio 04 -DV

Transcript of Laboratorio 04 -DV

Page 1: Laboratorio 04 -DV

NOMBRE:

CCALLA CHOQUE EDWIN ALEX

GRUPO LABORATORIO: “A”

Laboratorio 04: Divide y Vencerás

Page 2: Laboratorio 04 -DV

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);

}

Page 3: Laboratorio 04 -DV

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;

Page 4: Laboratorio 04 -DV

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]+" ");

}

}