Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - erikcdlm

#1
Java / Ramificación y poda BranchAndBound
26 Noviembre 2014, 00:59 AM
Buenas noches, alguien con ideas de este còdigo? Ramificación y poda BranchAndBound problema de la asignación de tareas
#2
Eres un capo, gracias
#3
Java / Duda para imprimir un resultado en un jlabel
15 Noviembre 2014, 20:22 PM
Buenos días señores,

Les cuento que me estoy ahogando en un vaso de agua con un método que no me imprime de la manera que yo necesito. El código que tengo es el siguiente:

CLASE A

public class Varilla {
     
  int z  = 0;

    public int getZ() {
        return z;
    }

    public void setZ(int z) {
        this.z = z;
    }
 
 
   
   
   
   
   
    public int Cut_Rod(int p[], int n) {
        if(n >= p.length ){
            //throw new Exception("rod of length can not grater than the price array length");       
        }
        if (n == 0) {
            return 0;
        }
        int q = Integer.MIN_VALUE;
        for (int i = 1; i <= n; i++) {
            q = Math.max(q, (p + Cut_Rod(p, n - i)));
        }
        return q; -> Este return lo mando a la clase B donde me imprime sin problemas
    }

    public int Extended_Bottom_Up_Cut_Rod(int p[], int n)  {
        //int z=0;
     
         if(n >= p.length ){
            //throw new Exception("rod of length can not grater than the price array length");       
        }
       int r[] = new int[n + 1];
       int s[] = new int[n + 1];
       
         r[0] = 0;
        for (int j = 1; j <= n; j++) {
            int q = Integer.MIN_VALUE;
            for (int i = 1; i <= j; i++) {
                if (q < (p + r[j - i])) {
                    q = p + r[j - i];
                    s[j] = i;
                }
               
            } r[j] = q;
        }

       
        for (int i = 0; i < n; i++) {
               
                z = s[n];
               System.out.print(z + " "); Si lo imprimo por esta parte me sale correcto ya que el arroja las posiciones donde se hace el corte de la vara, ejemplo, se cortó la vara 4 veces en la posición 2 2 ò se cortó en la posición 3 2 o se corto 4 veces en la misma posición  1 1 1 1. Pero yo quiero que esto que se imprime aquì se guarde en una varible para enviarla al otro metodo y que desde ese otro metodo pueda mandarlo a un jlabel para que se imprima tal cual como se hace con el system.out.print
                n = n - z;
               return z; -> Esta valiable z la cree para almacenar el vector s[n], y poder enviarlo a la otra clase, pero cuando se imprime por el otro lado solo sale 1 posiciòn y no como lo hace en la parte anterior.
           
                     
        }
       
       
       return 0;
     
    }
}


CLASE B

public class CapturaDatos {
   
   
    int aux =0;
    int n = 0;
    int y = 0;
    int z =0;
   

    public int getAux() {
        return aux;
    }

    public void setAux(int aux) {
        this.aux = aux;
    }

    public int getN() {
        return n;
    }

    public void setN(int n) {
        this.n = n;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public int getZ() {
        return z;
    }

    public void setZ(int z) {
        this.z = z;
    }
   
   
   
   
    public int capturar(int tamPesos , int LongVara){
   
   this.aux = tamPesos;
    this.n = LongVara;
   
       //int[] p = new int [aux];
        int[] p = {0, 1, 5, 8, 9, 10, 17, 17, 20, 24, 30};
       
        for (int i=0; i<p.length;i++){
       
           //p =aux;
           //p = (int)(Math.round(Math.random()*99+1));
     
      }
       

        if(n >= p.length || n <= 0){
               
        }
         
       
        //System.out.print("[Cut_rod] Rod of Lenght = "+n+" and solution = ");
        Varilla rd = new Varilla();
        y = rd.Cut_Rod(p, n);
        //System.out.println(y);

         System.out.print("[Extended_Bottom_Up_Cut_rod] Rod of Lenght = "+n+" and the cuts  => ");
        Varilla rd3 = new Varilla();
       
        z= rd3.Extended_Bottom_Up_Cut_Rod(p, n);
        //rd3.Extended_Bottom_Up_Cut_Rod(p, n);
        System.out.println(z + " ");
       
       return 1;
    }
   
   
}


Entonces alguna idea muchachos, se los agarezco
#4
Java / Programación Dinámica
7 Noviembre 2014, 20:32 PM
Buenos días muchachos alguien con tutoriales sobre programación dinámica
#5
Java / Re: Comparar arrays en java
8 Octubre 2014, 21:24 PM
Muchas gracias por tu ayuda, me sirve muchisimo
#6
Java / Comparar arrays en java
8 Octubre 2014, 03:53 AM
Buenas noches,

Necesito por favor de su ayuda con el siguiente programa: Por fa, las ideas me sirven de mucho, no quiero que me hagan el programa sino que me orienten en el mismo.

Tengo que crear un programa que ingrese una oración, ejemplo: Juan juega con la bicicleta.

Esa cadena de texto la debo comparar con unos array que ya tengo definidos:

String sujeto [] =  {"Juan","Ana","Diana","Pedro","Erik","Santiago","Adriana","Jenny","Luis","Jose"};
  String verbos [] = {"empuja","mira","lanza","come","cuenta","paga","visita","limpia","abre","juega"};
  String preposicion [] = {"a","ante","bajo","cabe","con","contra","de","desde","en","entre","hacia","hasta","para","por","según","sin","so","sobre","tras"};
  String articulo [] = {"el","la","lo","los","la","las","un","una","uno","unos"};
  String sustantivo [] = {"Agua","Árbol","Bicicleta","Casa","Carro","Guitarra","Juguete","Música","Pollo","Ventana"};
 
La idea del programa es que la cadena de texto que ingrese por consola me diga si la oración está correcta o si le hace falta algo, en este caso: sujeto, verbo, preposición, articulo o sustantivo.

Yo ya generé el siguiente main donde capturo la oración:

package talleroracion;


import com.sun.jmx.snmp.BerDecoder;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import javax.swing.JOptionPane;

/**
*
* @author A80853598
*/
public class TallerOracion {

   /**
    * @param args the command line arguments
    */
   public static void main(String[] args) throws IOException {
       // TODO code application logic here
       
     
       System.out.println("Ingrese la oración: ");
       BufferedReader bf = new BufferedReader (new InputStreamReader(System.in));
       String or = bf.readLine();
       
       
      // CodigoOracion cod = new CodigoOracion(or);
      // cod.analizador(or);
      CodigoOracion cod = new CodigoOracion(or);
      cod.analizador(or);
       //JOptionPane.showMessageDialog(null, "La oracion ingresada es: "+or);
         
     
       
       }
   
}


De ahí paso a la clase donde transformo la cadena en otro array con el método split y lo que he hecho es hacer un ciclo for donde comparo la cadena entrante convertida en array versus el array de sujeto.

package talleroracion;

import java.util.ArrayList;
import java.util.StringTokenizer;

//import static jdk.nashorn.internal.objects.NativeMath.random;

/**
*
* @author A80853598
*/
public class CodigoOracion {

  String sujeto [] =  {"Juan","Ana","Diana","Pedro","Erik","Santiago","Adriana","Jenny","Luis","Jose"};
  String verbos [] = {"empuja","mira","lanza","come","cuenta","paga","visita","limpia","abre","juega"};
  String preposicion [] = {"a","ante","bajo","cabe","con","contra","de","desde","en","entre","hacia","hasta","para","por","según","sin","so","sobre","tras"};
  String articulo [] = {"el","la","lo","los","la","las","un","una","uno","unos"};
  String sustantivo [] = {"Agua","Árbol","Bicicleta","Casa","Carro","Guitarra","Juguete","Música","Pollo","Ventana"};
 
   
   public CodigoOracion(String or ) {
     
   sujeto = this.sujeto;
   verbos = this.verbos;
   preposicion = this.preposicion;
   articulo = this.articulo;
   sustantivo = this.sustantivo;
   
   }

 
 
   
   public void  analizador (String or){
 
    String cadenaporconsola [] = or.split(" ");

   

   for(int i=0; i<sujeto.length;i++)
                              {
                                   

   if(cadenaporconsola[0].equalsIgnoreCase(sujeto))
   
   
     System.out.println("si");

else

System.out.println("no");
   
       }
     
   
       }
 
 
 
 
   }
}

Pero hasta ahí he llegado por que al imprimir el programa esté me muestra cada campo del array y la salida solo debe decir si la oración está bien o si le hace falta algo y que indique que le hace falta.

Por fa, las ideas me sirven de mucho, no quiero que me hagan el programa sino que me orienten en el mismo.