[SOLUCIONADO]ayuda un programa de recursividad

Iniciado por cojon, 16 Diciembre 2009, 04:32 AM

0 Miembros y 2 Visitantes están viendo este tema.

cojon

hola a todos, un saludo antes de na, bueno soy principiante en esto de programacion, y me la e llevado poco a poco, peor me e encontrado con algo que se llama recursividad y la verdad valla lio
buno me an dejado 2 programas
1.-imprimir las letras alrves e

import java.util.Scanner;
public class PalabraAlRevesRecursividad {
public static void main(String[] args) {
//Se pide el String
System.out.println("Introduzca una palabra");
Scanner sc = new Scanner(System.in);
String palabra = sc.nextLine();

imprimirReves(palabra,0);
}
public static void imprimirReves(String palabra, int num) {
if(num == palabra.length()-1) {
System.out.println(palabra.charAt(palabra.length() - 1 -num));
}else {
System.out.print(palabra.charAt(palabra.length() - 1 -num));
imprimirReves(palabra,num+1);
}
}
}



2.-crear  un arreglo  y llenarlo , indicar cual es el numero mayor de los que se an metido, el tamaño y los numeros del arreglo seran dados por el usuario

este es mi problema, lo e intentado hacer pero tengo problemas a la hora de mandar a imprimir, y me enredo, ademas que no creo que me pueda salir
bueno muchas graxias  por su ayuda     ;)

Leyer

#1
el 2 recursivo :huh:

cojon


Leyer

#3
que te parece este
Código (java) [Seleccionar]
/**
* @param array[]
* @param array[0]
* @param 1
*
*/
public static void recx(int [] array,int m,int x){
if(x<=array.length-1){
if(m >= array[x]){
x++;
recx(array, m,x);
}else{
recx(array,array[x],x);
}
}else{
System.out.println(m);
}
}


cojon

Cita de: L-EYER en 16 Diciembre 2009, 07:22 AM
ese fue el que me salio

Código (java) [Seleccionar]
/**
* @param array[]
* @param array[0]
* @param 1
*
*/
public static void recx(int [] array,int m,int x){
if(x<=array.length-1){
if(m >= array[x]){
x++;
recx(array, m,x);
}else{
recx(array,array[x],x);
}
}else{
System.out.println(m);
}
}




me parece bien,pero mi lio es que no se como mandar a pedir el tamaño del arreglo y los numeros que se meten al arreglo, y como mandar a imprimir  :-[

Leyer

jajaj bueno pense que ya sabias eso :-\ bueno es asi

Código (java) [Seleccionar]
import java.util.Scanner;
/**
* @author leyer
* */
public class test2 {

public static void recx(int [] array,int m,int x){
if(x<=array.length-1){
if(m >= array[x]){
x++;
recx(array, m,x);
}else{
recx(array,array[x],x);
}
}else{
System.out.println(m);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("SIZE: ");
int size=scanner.nextInt();
int []array = new int[size];
for(int index=0;index<array.length;index++){
System.out.println("Element ["+index+"] :");
int t = scanner.nextInt();
array[index]=t;
   }
recx(array,array[0],1);
}
}

cojon

Cita de: L-EYER en 16 Diciembre 2009, 07:34 AM
jajaj bueno pense que ya sabias eso :-\ bueno es asi

Código (java) [Seleccionar]
import java.util.Scanner;
/**
* @author leyer
* */
public class test2 {

public static void recx(int [] array,int m,int x){
if(x<=array.length-1){
if(m >= array[x]){
x++;
recx(array, m,x);
}else{
recx(array,array[x],x);
}
}else{
System.out.println(m);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("SIZE: ");
int size=scanner.nextInt();
int []array = new int[size];
for(int index=0;index<array.length;index++){
System.out.println("Element ["+index+"] :");
int t = scanner.nextInt();
array[index]=t;
   }
recx(array,array[0],1);
}
}



valla si que se me iva a hacer imposible, yo los pedia con JOotionPane pues no e visto esto a fondo,  pero muchas grax colega se ve que sabes mucho suerte!!! ;-)

Leyer

con JOotionPane jamas :-X y bueno para eso estamos

SL2.