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 - Langosta Sexual

#1
Gracias por la respuesta, aunque antes de dar por resuelto el tema yo debo de estudiar mas sobre el metodo java.util.ArrayList; porque la verdad lo desconozco, una duda antes de ponerme a estudiar, se que esto que voy a escribir no compilara, pero, ¿se puede codificar algo similar para que el usuario pueda añadir las tareas a al arreglo que contiene las tareas?.

algo similar a esto (pero que compile).

Código (java) [Seleccionar]

{
System.out.println("Introduzca una tarea para añadir en la lista: ");
      String x;
      x=ec.nextLine();
      Tareas.add.(x);
    }
#2
Voy a ser breve, yo veo clases con un profesor que explica bien y sabe lo que hace, pero su unico problema es que va al par con el alumno mas lento en lugar de ir avanzando acorde al conocimiento de la mayoria, ya estoy algo cansado de ir a clases de programacion a hacer programitas de "calcule la suma de dos numeros" o "calcule el producto de 2 arreglos". El dia de ayer descargue un libro llamado "Murach's java programing" para aprender por mi cuenta, libro bastante bueno pero con pocos ejercicios en el, asi que empeze a buscar por internet y encontra algunos algoritmos "faciles" y decidi empezar a hacerlos para aprender mas, les escribire el problema.

Problema:

Un negociante ocupado tiene varias tareas de igual importancia que debe completar. Para decidir cual de las varias tareas va a resolver primero el negociante elabora la siguiente operación.
El escribe en una hoja todas las tareas que debe realizar de forma circular, de forma que la primera tarea que escribió es adyacente a la ultima que escribió . El luego piensa en un numero positivo y par. Este numero es un valor cualquiera sacado de su mente que el llama "n". comenzando desde la primera tarea, el va de tarea en tarea moviéndose en sentido de las agujas de un reloj (desde el elemento 1 de la lista, al elemento 2, al elemento 3 ... etc) contando desde 1 hasta "n". Cuando cuenta hasta "n", el elimina esta tarea de la lista y comienza a contar desde la siguiente tarea disponible. El repite este procedimiento hasta que solo 1 tarea quede en la lista. La tarea que queda al final del procedimiento es la tarea que el va a ejecutar primero.

Ejemplo:
1)   
      Tareas{"a","b","c","d"}
N=2

Returns: "a"

Empezamos contando desde a. asi a es 1, b es 2. Eliminamos b, entonces en la lista quedan las tareas {a,c,d}. continuamos desde c. Asi que c es 1, d es 2. Eliminamos d, la lista contiene ahora {a,c}.. Continuamos desde a. Así que a es 1, c es 2. Eliminamos c, y la tarea que quedo en la lista es la tarea que va a ejecutar el negociante, a.

Este es el codigo que ya tengo escrito.

Código (java) [Seleccionar]
package tareasdenegocio;
import java.util.*;
public class TareasDeNegocio {

   public static void main(String[] args)
   {
       Scanner ec = new Scanner (System.in);
       int CantidadTareas=0,Numero;
       System.out.println("Introduzca la cantidad de tareas que desea calcular\n");
       CantidadTareas = ec.nextInt();
       String Tareas []= new String [CantidadTareas];
       
       for (int x=0;x<CantidadTareas;x++)
       {
       System.out.println("Introduzca la tarea numero "+x+"\n");
       Tareas[x]=ec.nextLine();
           if (x==CantidadTareas)
           {
           System.out.println("Introduzca un numero positivo\n");
           Numero=ec.nextInt();
           }
       }
   }  
}


Si es muy poco, mis disculpas, no tengo amplios conocimientos en java, solo quiero aprender.
Por si alguien necesita la fuente de donde yo habia sacado el algoritmos, aqui esta (en ingles): http://community.topcoder.com/stat?c=problem_statement&pm=1585&rd=6535

Mod: no hagas doble post
#3
Cita de: Nac-ho en  3 Febrero 2015, 18:36 PM
Porfavor agrega las etiquetas [ code ], esto lo haces modificando tu mensaje,  seleccionando el código y posteriormente haciendo click sobre combobox que dice GeSHi y selecciona Java.




No entiendo muy bien que es lo que buscas, supongo que quieres solo revisar si es múltiplo de 5 en los casos [1][1] [2][2] [3][3] ....

Si es así con tan solo modificar tu if y agregar lo siguiente:

Código (java) [Seleccionar]

if (Columna == Fila && arreglo[Columna][Fila]%5==0) {
        System.out.println("El valor contenido en["+Columna+"]["+Fila+"]Es multiplo de 5");
}


Estará listo, por otro lado, si lo que quieres es calcular una suma necesitaras de otra variable que lo haga, pero eso te lo dejo a ti, veo que si ya hiciste esto eres capaz.

Quiero agregar, tienes un grave problema en tu forma de escribir tu código, te recomiendo pasarte por aquí

Si me he equivocado dímelo acá abajo porque no logre entender muy bien tu pregunta.

PD: No veo la utilidad de la variable incremento


Muchas gracias amigo, gracias tambien a enseñarme como traducir el codigo a este foro, al final el programa quedo asi, lo coloco por si alguien le interesa mirarlo.

Código (java) [Seleccionar]
package arreglos;
import java.util.*;

public class Arreglos
{
    public static void main(String[] args)
    {
        Scanner ec= new Scanner(System.in);
        int LongitudArreglo,Incremento=0;
        double ValorArreglo;
       
        System.out.println("Introduzca la longitud de el arreglo");
        LongitudArreglo = ec.nextInt();
       
        double [][] arreglo  = new double [LongitudArreglo][LongitudArreglo];
       
        String decision = "Si";
        while (decision.equalsIgnoreCase ("si"))
        {
            for (int Columna=0;Columna<LongitudArreglo;Columna++)
            {
                for (int Fila=0;Fila<LongitudArreglo;Fila++)
                {
                    System.out.println("Introduzca el valor que tendra la posicion ["+Columna+"]["+Fila+"]\n");
                    arreglo[Columna][Fila]=ec.nextDouble();
                    if (Fila==Columna && arreglo[Columna][Fila]%5==0)
                    {
                        System.out.println("El valor contenido en["+Fila+"]["+Columna+"]Es multiplo de 5");
                        Incremento++;
                    }           
                } 
            }
           
            System.out.print("¿Desea continuar? Si/No\n");
            decision = ec.next();
        }
    }   
}
#4
Voy al grano, debo hacer un programa en java que permita a el usuario ingresar el tamaño de un arreglo bidimensional, que el usuario pueda ingresar los valores que van a contener las finas y columnas de el arreglo, ejemplo, arreglo [1][1]=5; y que calcule que valores de la diagonal principal son multiplos de 5, osea, si el arreglo es cuadrado de [3][3], que permita calcular si el valor contenido en
  • ,[1][1],[2][2] son multiplos de 5.

    Ya pude hacer el 95% de el programa, pero lo que no se es como modular el valor a 5 de cada una de las partes que me piden, les escribo lo que ya tengo listo.

    Código (java) [Seleccionar]
    package arreglos;
    import java.util.*;

    public class Arreglos
    {
        public static void main(String[] args)
        {
            Scanner ec= new Scanner(System.in);
            int LongitudArreglo,Incremento=0;
            double ValorArreglo;
           
            System.out.println("Introduzca la longitud de el arreglo");
            LongitudArreglo = ec.nextInt();
           
            double [][] arreglo  = new double [LongitudArreglo][LongitudArreglo];
           
            String decision = "Si";
            while (decision.equalsIgnoreCase ("si"))
            {
                for (int Columna=0;Columna<LongitudArreglo;Columna++)
                {
                    for (int Fila=0;Fila<LongitudArreglo;Fila++)
                    {
                        System.out.println("Introduzca el valor que tendra la posicion ["+Columna+"]["+Fila+"]\n");
                        ValorArreglo=ec.nextDouble();
                        if (arreglo[Incremento][Incremento]%5==0)  //<- Este es el problemita que tengo
                        {
                            System.out.println("El valor contenido en["+Incremento+"]["+Incremento+"]Es multiplo de 5");
                        }
                    } 
                    Incremento++;
                }
               
                System.out.print("¿Desea continuar? Si/No\n");
                decision = ec.next();
            }
        }   
    }
#5
Muchas gracias amchacon, ya no te molesto mas jeje, es bueno ver que los mas expertos ayudan a los ''noobs'' por aqui, un saludo.
#6
Bien, segun lo que me dijiste segui haciendo el programa y me quedo asi:

#include <stdio.h>

int main ()
{
   double mg, ng, d=0.15, iva=1.12, p, p1, mpg, mpng;

   printf("Ingrese el precio de el medicamento generico: ");
   scanf("%lf", &mg);
   getchar();

   if (mg<=0)
   {
       printf("No puede introducir un precio negativo o igual a cero");
       printf("\nEl valor que se introdujo es: %f", mg);
       getchar();
       return 1;
   }
   
     printf("Ingrese monto a pagar:");
     scanf("%lf", &p);
     if (p<=0)
     {
        printf("No puede introducir un precio negativo o igual a cero");
        printf("\n El valor introducido es: %lf", p);
        getchar(); 
        return 1;     
     }
     
     mpg=-1*(mg*d)+p;
     
     printf("Su cambio es:%.2lf", mpg);
     
     getchar();
     return 0;
}


El problema ahora es que no me quiere dar el resultado del calculo de la variable mpg, disculpa las molestias.
#7
Muchas gracias por tu atencion amchacon, actualmente uso el dev c++ (porque es el programa que se usa en la universidad) y necesito aprender en ese ya que si no aceptan el otro que me hablas, en tanto al error del que me hablas, cuando introduzco todo el codigo fuente, me da el mismo error ¿No sabras por que?.
#8
 Es una duda que cualquiera con 1 semana de experiencia podria resolver (imagino), soy bastante nuevo programando en c, mi profesor de programacion nos mando a realizar este programa:

En una farmacia se venden medicamentos genericos y no genericos, los medicamentos genericos tienen un descuento de 15%, los medicamentos no genericos tienen un impuesto de 12%, realizar un programa que permita calcular el monto a pagar de ambos medicamentos y tambien si hay vuelto (cambio) o no.

Yo lo estoy haciendo asi


#include <stdio.h>
#include <conio.h>

main ()
{
    double mg, ng, d=0.15, iva=1.12, p, p1, mpg, mpng;
   
    printf("Ingrese el precio de el medicamento generico:");
    scanf("%lf", &mg);
    if (mg<=0)
    { printf("No puede introducir un precio negativo o igual a cero");
    return mg;       
}
getch();
return 0;
}


Cuando introdusco un valor mayor a 0 el programa me va bien, pero cuando introdusco uno menor o igual a cero el programa se cierra sin montrar el segundo print ni retornando a la variable mg, ¿Que tengo malo?.