Mostrar Mensajes

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


Mensajes - elendur14

Páginas: [1]
1
Gracias por los comentarios y los tips que me dan.

Pasare para ver las normas del foro.

Y en cuanto a ayudar a otro tratare de ayudar en lo que pueda.

2
Hola Matias.
Con respeto al nombre del tema deberias de cambiarlo checando las normas del foro ya que se pierde la informacion y no se entiende si es alguna clase de esta pagina.

Con respecto a tu codigo se ve bien, yo tambien estoy empezando con C aunque ya traigo alguna experiencia.

En la funcion fun te falto hacer un return 1 ya que se debe de retornar algo, el compilador marca un warning.

Tome tu codigo y realice el punto tres. Mediante dos ciclos for hice un  barrido del array para ver cual es el numero de pasajeros mas alto en el Array.
Modifique algunos parametros del array para testearlo.

Código: [Seleccionar]
#include <stdio.h>

/*Prototipos de funciones*/
int fun(int[]);
float promedioDeArreglo(int[], int);
int mayorNumeroPasajeros(int[], int);

/*Declaracion y asignacion de variable global*/
int indice=0;

int main()
{

    /*Declaracion y asignacion de vector con la cantidad de pasajeros de los primeros 8 dias de enero...*/
    int pasajerosEnero[8]= {100, 400, 120, 140, 150, 200, 250, 300};

    printf("En los primeros 8 dias de enero viajaron:\n");
    fun(pasajerosEnero);

    int cantidadDeElementos = sizeof(pasajerosEnero) / sizeof(pasajerosEnero[0]);
    float promedio = promedioDeArreglo(pasajerosEnero, cantidadDeElementos);
    printf("\nEl promedio es: %.2f pasajeros\n", promedio);

    int mayor = mayorNumeroPasajeros(pasajerosEnero, cantidadDeElementos);
    printf("\nEl mayor numero de pasajeros fue el %d de enero \n", mayor);

    return 0;
}

/*Desarrollo de las funciones*/
int fun(int pasajerosEnero[])
{
    for(indice=0; indice < 8; indice++)
    {
        printf("El %d de enero: %d pasajeros\n", indice+1, pasajerosEnero[indice]);
    }
    return 0;
}

float promedioDeArreglo(int pasajerosEnero[], int cantidadDeElementos)
{
    float suma=0;
    for (indice=0; indice<cantidadDeElementos; indice++)
    {
        suma = suma + pasajerosEnero[indice];
    }
    return suma / cantidadDeElementos;
}

int mayorNumeroPasajeros(int pasajeroEnero[],int cantidadElementos)
{
    int mayor = 0;

    for(int i = 0; i < cantidadElementos; i++)
    {
        for(int x = 0; x < cantidadElementos; x++)
        {
            if(pasajeroEnero[i] > pasajeroEnero [mayor])
            {
                mayor = i;
            }
        }
    }
    return mayor + 1;

}


 

3
Buen día a todos, sigo con la programacion de JAVA Avanzado. Dejo el siguiente código, propuesta de solución para el ejercicio CU00913C del tutorial de programación orientada a objetos. Tomo nota de sus comentarios.

Respecto al codigo, he aplicado lo que he aprendido en el basico y este.

He escrito el codigo en dos clases y lo he tratado de hacer los mas claro posible.

Saludos
 
Citar
EJERCICIO

Utilizando Comparable y compareTo resuelve el siguiente problema donde debemos partir de una clase Persona con atributos nombre, edad y altura. Queremos ordenar por edad y por altura a las siguientes personas: 

1. Mario - Altura: 187 - Edad: 22
2. Pepe - Altura: 173 - Edad: 52
3. Manuel - Altura: 158 - Edad: 27
4. David - Altura: 164 - Edad: 25
5. Alberto - Altura: 184 - Edad: 80                 

Debemos comparar las personas y ordenarlas por altura primero (de mayor a menor) y por edad (de menor a mayor) después. Por pantalla debe mostrarse la lista de personas sin ordenar, ordenada por altura y ordenada por edad. Ejemplo de ejecución:

 

Personas sin ordenar

1. Mario - Altura: 187 - Edad: 22
2. Pepe - Altura: 173 - Edad: 52
3. Manuel - Altura: 158 - Edad: 27
4. David - Altura: 164 - Edad: 25
5. Alberto - Altura: 184 - Edad: 80

 

Personas ordenadas por altura
1. Mario - Altura: 187 - Edad: 22
2. Alberto - Altura: 184 - Edad: 80
3. Pepe - Altura: 173 - Edad: 52
4. David - Altura: 164 - Edad: 25
5. Manuel - Altura: 158 - Edad: 27

Personas ordenadas por edad
1. Mario - Altura: 187 - Edad: 22
2. David - Altura: 164 - Edad: 25
3. Manuel - Altura: 158 - Edad: 27
4. Pepe - Altura: 173 - Edad: 52
5. Alberto - Altura: 184 - Edad: 80


Código: [Seleccionar]
package ejerciciocompare;

public class Persona implements Comparable<Persona> {

    private String nombre;
    private float altura;
    private int edad;
    private int numero;
    private static String opcion = "";

    public Persona(String nombre, int altura, int edad) {
        this.nombre = nombre;
        this.altura = altura;
        this.edad = edad;
        this.numero = 0;
    }

    public Persona() {
        this.nombre = "";
        this.altura = 0;
        this.edad = 0;
        this.numero = 0;
    }

    @Override
    public int compareTo(Persona temporal) {
        int resultado = 0;
        if (getOpcion().equals("ESTATURA")) {
            if (this.getAltura() < temporal.getAltura()) {
                resultado = 1;

            } else if (this.getAltura() > temporal.getAltura()) {
                resultado = -1;
            }
        } else if (getOpcion().equals("EDAD")) {

            if (this.getEdad() < temporal.getEdad()) {
                resultado = -1;
            } else if (this.getEdad() > temporal.getEdad()) {
                resultado = 1;
            }
        }
        return resultado;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public float getAltura() {
        return altura;
    }

    public void setAltura(float altura) {
        this.altura = altura;
    }

    public int getEdad() {
        return edad;
    }

    public void setEdad(int edad) {
        this.edad = edad;
    }

    public int getNumero() {
        return numero;
    }

    public void setNumero(int numero) {
        this.numero = numero;
    }

    public String getOpcion() {
        return opcion;
    }

    public void setOpcion(String opcion) {
        this.opcion = opcion;
    }

}

Código: [Seleccionar]
package ejerciciocompare;

import java.util.ArrayList;
import java.util.Iterator;

public class Principal {

    private static Persona tmpPersona = new Persona();
    private static Persona tmpPersona2 = new Persona();
    private static ArrayList<Persona> listaPersonas = new ArrayList<Persona>();
    private static Persona persona = new Persona();

    public static void main(String[] args) {

        Persona p1 = new Persona("Mario", 145, 22);
        Persona p2 = new Persona("Pablo", 150, 52);
        Persona p3 = new Persona("Manuel", 158, 27);
        Persona p4 = new Persona("David", 164, 25);
        Persona p5 = new Persona("Alberto", 177, 80);
        Persona p6 = new Persona("Josefa", 187, 34);

        listaPersonas.add(p1);
        listaPersonas.add(p2);
        listaPersonas.add(p3);
        listaPersonas.add(p4);
        listaPersonas.add(p5);
        listaPersonas.add(p6);

        System.out.println("Lista Original de Personas sin Ordenar: ");
        mostrarDatos();

        System.out.println("\nLista ordenada por EDAD");
        ordenarPersonas("EDAD");
        mostrarDatos();

        System.out.println("\nLista Ordenada por ESTATURA");
        ordenarPersonas("ESTATURA");
        mostrarDatos();
    }

    public static void mostrarDatos() {

        if (persona.getOpcion().equals("")) {
            Iterator<Persona> it = listaPersonas.iterator();
            int x = 0;
            while (it.hasNext()) {
                tmpPersona = it.next();
                System.out.println((x + 1) + ". Nombre: " + tmpPersona.getNombre() + "\tEstatura: " + tmpPersona.getAltura() + "\tEdad: " + tmpPersona.getEdad());
                x++;
            }

        } else {
            for (int x = 0; x <= listaPersonas.size(); x++) {
                Iterator<Persona> it = listaPersonas.iterator();
                while (it.hasNext()) {
                    tmpPersona = it.next();
                    if (x == tmpPersona.getNumero()) {
                        System.out.println((x + 1) + ". Nombre: " + tmpPersona.getNombre() + "\tEstatura: " + tmpPersona.getAltura() + "\tEdad: " + tmpPersona.getEdad());
                    }

                }
            }
        }
    }

    public static void ordenarPersonas(String opcion) {
        persona.setOpcion(opcion);

        int numero;

        Iterator<Persona> it2 = listaPersonas.iterator();
        while (it2.hasNext()) {

            Iterator<Persona> it = listaPersonas.iterator();
            numero = 0;
            tmpPersona = it2.next();
            while (it.hasNext()) {
                tmpPersona2 = it.next();
                if (tmpPersona.compareTo(tmpPersona2) > 0) {
                    numero++;
                }

            }
            tmpPersona.setNumero(numero);
        }

    }
}

4
Buen Dia. Les mando las clases para el ejercicio de JAVA desde Cero CU00667B del tutorial de programación orientada a objetos de aprenderaprogramar.

¿Qué me pueden sugerir? Apenas me  estoy adaptando a esto de los objetos y clases.

Tengo Dudas si es recomendable hacer esto:

Código: [Seleccionar]
tempCantante = it.next();

Citar
EJERCICIO

Crea una clase denominada ListaCantantesFamosos que disponga de un atributo ArrayList listaCantantesFamosos que contenga objetos de tipo CantanteFamoso. La clase debe tener un método que permita añadir objetos de tipo CantanteFamoso a la lista. Un objeto de tipo CantanteFamoso tendrá como atributos nombre (String) y discoConMasVentas (String), y los métodos para obtener y establecer los atributos. Crea una clase test con el método main que inicialice un objeto ListaCantantesFamosos y añade manualmente dos objetos de tipo CantanteFamoso a la la lista. Usando iterator muestra los nombres de cada cantante y su disco con más ventas por pantalla. Se debe pedir al usuario un nombre y disco con más ventas de otro cantante famoso, y una vez introducidos los datos mostrar la lista actualizada usando iterator. Una vez mostrada la lista actualizada, se debe dar opción a elegir entre volver a introducir los datos de otro cantante o salir del programa (se podrán introducir tantos datos de cantantes como se desee. Para ello usa un bucle while que dé opción a elegir al usuario). Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.

Ejemplo de lo que podría ser la ejecución del programa:

La lista inicial contiene los siguientes datos:
Cantante: Madonna.    Disco con más ventas: All I want is you.
Cantante: Jorge Negrete    Disco con más ventas: Jalisco.

Por favor introduzca los datos de otro cantante.
Nombre: Michael Jackson
Disco con más ventas: Thriller
La lista actualizada contiene los siguientes datos:
Cantante: Madonna.    Disco con más ventas: All I want is you.
Cantante: Jorge Negrete    Disco con más ventas: Jalisco.
Cantante: Michael Jackson    Disco con más ventas: Thriller.
¿Desea introducir los datos de otro cantante (s/n)?
s

Código: [Seleccionar]
package cantantesfamosos;

public class CantanteFamoso {

    private String nombreCantante;
    private String discoConMasVentas;

    public CantanteFamoso() {
        nombreCantante = " ";
        discoConMasVentas = " ";
    }

    public CantanteFamoso(String nombreCantante, String discoConMasVentas) {
        this.nombreCantante = nombreCantante;
        this.discoConMasVentas = discoConMasVentas;
    }

    public String getNombreCantante() {
        return nombreCantante;
    }

    public void setNombreCantante(String nombreCantante) {
        this.nombreCantante = nombreCantante;
    }

    public String getDiscoConMasVentas() {
        return discoConMasVentas;
    }

    public void setDiscoConMasVentas(String discoConMasVentas) {
        this.discoConMasVentas = discoConMasVentas;
    }
}

Código: [Seleccionar]
package cantantesfamosos;

import java.util.ArrayList;

public class ListaCantantesFamosos {

    private ArrayList<CantanteFamoso> listaCantantesFamosos;

    public ListaCantantesFamosos() {
        listaCantantesFamosos = new ArrayList<>();
    }

    public void addCantanteFamoso(CantanteFamoso cantanteFamoso) {
        listaCantantesFamosos.add(cantanteFamoso);
    }

    public ArrayList<CantanteFamoso> getListaCantantesFamosos() {
        return listaCantantesFamosos;
    }

    public void setListaCantantesFamosos(ArrayList<CantanteFamoso> listaCantantesFamosos) {
        this.listaCantantesFamosos = listaCantantesFamosos;
    }
}

Código: [Seleccionar]
package cantantesfamosos;

import java.util.Iterator;
import java.util.Scanner;

public class ClasePrincipal {
   
    public static void main(String[] args) {
        int iniciado = 0;
        String nombreCantante = "";
        String discoMasVendido = "";
       
        ListaCantantesFamosos lista1 = new ListaCantantesFamosos();
       
        CantanteFamoso cantante1 = new CantanteFamoso();
        cantante1.setDiscoConMasVentas("El nervio del volcan");
        cantante1.setNombreCantante("Caifanes");
        lista1.addCantanteFamoso(cantante1);
       
        CantanteFamoso cantante2 = new CantanteFamoso();
        cantante2.setDiscoConMasVentas("The dark side of the moon");
        cantante2.setNombreCantante("Pink Floyd");
        lista1.addCantanteFamoso(cantante2);
       
       
        Scanner entrada2 = new Scanner(System.in);
       
        do {
            Iterator<CantanteFamoso> it = lista1.getListaCantantesFamosos().iterator();
            CantanteFamoso tempCantante = new CantanteFamoso();
           
            System.out.println("La lista de Canatantes es la siguiente........\n");
           
            while (it.hasNext()) {
                tempCantante = it.next();
               
                System.out.println("Nombre del cantante: " + tempCantante.getNombreCantante() + "- Disco Mas Vendido: " + tempCantante.getDiscoConMasVentas());
            }
           
            System.out.println("**** Elige una Opcion ****");
            System.out.println("** 1. Agregar Cantante  **");
            System.out.println("** 2. Salir             **\n\n");
           
            String teclado = entrada2.nextLine();
           
            if (teclado.equals("1")) {
               
                System.out.println("Teclea el nombre del Cantante: ");
                nombreCantante = entrada2.nextLine();
                System.out.println("Teclea el Disco Mas Vendido");
                discoMasVendido = entrada2.nextLine();
               
                CantanteFamoso cantanteNuevo = new CantanteFamoso();
                cantanteNuevo.setNombreCantante(nombreCantante);
                cantanteNuevo.setDiscoConMasVentas(discoMasVendido);
               
                lista1.addCantanteFamoso(cantanteNuevo);
               
            } else if (teclado.equals("2")) {
                iniciado = 1;
            } else {
                System.err.println("Opcion Incorrecta....");
            }
        } while (iniciado == 0);
    }
}

5
Hola Cpantoja

He leido tu codigo solo una observacion.

En la clase SalonCasa() tienes declarado la variable tipoSalon como un objeto String.
y en la clase Casa() cuando haces la comparacion tipoSalon == "1", esta mal.

Ya que los objetos no se pueden comparar con ==.

Recuerda que los objetos tipo String se comparan con el metodo cadena1.equals(cadena2);

en tu caso seria tipoSalon.equals("1");

La otra opcion que veo es que cambies la variable tipoSalon a int recuerda que las vairiables primitivas con mas rapidas de procesar.

Saludos

6
Buen dia, presento mi respuesta para el ejercicio CU00542F del tutorial de fundamentos de programación usando lenguaje C de aprenderaprogramar.

Les mando mi código para generar un rombo, mediante un numero dado desde el teclado. Estoy emocionado ya que estoy retomando la programacion, siempre me ha gustado. Por causas del destino la dejé; ya anteriormente tenía conocimientos en  c y c++, ensamblador, clipper5, visual basic y foxpro. Estoy retomando de nuevo todos los conocimientos mediante esta pagina. En mis tiempos de estudiante no existia el CODE BLOCKS, ha sido facil adaptarme.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

#define CENTRADO 50

int main()
{
    int cantidadAsteriscos = 0;
    int mitad = 0;
    int resto = 0;

    printf("Dame el tamano del ROMBO entre 3 y 150:  ");
    scanf("%d", &cantidadAsteriscos);

    mitad = (cantidadAsteriscos/2) + CENTRADO;

    if(cantidadAsteriscos%2 == 0)
    {
        resto = 1;

    }

    if(cantidadAsteriscos >= 3 && cantidadAsteriscos <= 150)
    {
        for(int y = 0; y <= cantidadAsteriscos; y+=2)
        {
            for(int x = 0; x < mitad; x++)
            {
                printf(" ");
            }

            for(int h = 0; h <= y - resto; h++)
            {
                printf("*");
            }

            mitad --;
            printf("\n");
        }

        for(int y = cantidadAsteriscos-2; y >=0 ; y-=2)
        {
            for(int x = mitad + 1; x>=0 ; x--)
            {
                printf(" ");
            }

            for(int h = 0; h < y; h++)
            {
                printf("*");
            }

            mitad ++;
            printf("\n");

        }

    }
    else
    {
        printf("Solo puedes dar valores entre 3 y 150.... \n");
    }

    return 0;
}



Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".