Ejercicio en C++ con archivo CSV, listas ligadas y disponibilidad de camas

En este post te mostraré la solución a un ejercicio en C++ que tiene que ver con archivos CSV y disponibilidad de camas en hospitales.

Básicamente es leer un archivo CSV, pasarlo a la lista enlazada (estructura de datos) y luego generar estadísticas, eliminar repetidos, eliminar un registro y borrarlo.

Nos vamos a basar ampliamente en dos tutoriales que ya he publicado en mi blog: leer archivos CSV con C++ y listas enlazadas en C++.

(más…)

Iniciar juego de arqueros en el bosque

Arqueros en el bosque con C – Programación de juego

Hoy te mostraré la solución a un ejercicio propuesto en C que trata sobre hacer el juego de Arqueros en el bosque.

El juego consiste de un bosque representado mediante una cuadrícula, como el que se presenta a continuación (la vista es aérea):

Cuadrícula de bosque para arqueros - Juego programado en C

Cuadrícula de bosque para arqueros – Juego programado en C

Donde X representa un árbol. El objetivo del juego consiste en que 2 jugadores (arqueros) ingresan al bosque por extremos opuestos (J1 en 9-A y J2 en 1-I) y cada uno debe de intentar eliminar al otro.

Para ello en cada turno un arquero podrá elegir entre moverse un lugar o disparar un flechazo. Los flechazos se mueven en línea recta, una distancia máxima de 5 metros (asuma cada celda 1 metro).

Por otro lado un jugador no puede moverse a una celda donde hay un árbol y las flechas no pueden traspasarlos. Al recibir un flechazo el jugador pierde el round, las partidas se componen de 3 round y las gana el que gane 2 de ellos.

Veamos entonces cómo hacer este juego en ANSI C, C, C 99 o como le quieras llamar. Obviamente es compatible con C++.

(más…)

Histograma con PHP - Contar frecuencia de números

PHP – Generar histograma con arreglo

Hoy vamos a resolver un ejercicio en PHP que se trata de recorrer un arreglo, contar cuántas veces aparece un número y luego generar un histograma con asteriscos a partir del mismo. Básicamente es contar la cantidad de veces que aparece un número.

El ejercicio dice así:

Hacer un programa en PHP que recorra un arreglo y genere un histograma en base a los números de este arreglo. Un histograma representa que tanto un elemento aparece en un conjunto de datos.

Debe mostrar la frecuencia para todos los números del 1 al 5, incluso si no están presentes en el arreglo. Por ejemplo, para el arreglo: [1,2,1,3,3,1,2,1,5,1] el histograma se vería así:

Veamos cómo resolver este ejercicio con PHP, ciclo for, echo y foreach.

(más…)

Ordenar arreglos en C sharp - Burbuja (bubble sort)

C# – Ordenamiento de burbuja

En el artículo de hoy te mostraré cómo ordenar un arreglo en C# usando el método de la burbuja, ordenamiento de burbuja o bubble sort.

Al final tendremos una función que va a ordenar un arreglo usando el ordenamiento de burbuja. Te mostraré ejemplos para ordenar de manera ascendente y descendente, así como un ejemplo para ordenar arreglos de cadena.

(más…)

Simulador de solicitud de crédito en Java

Java: ejercicio de solicitud de crédito con plazo e interés

Hoy vamos a resolver otro ejercicio de programación en Java. Se trata de un programa que simula la solicitud de crédito de un usuario solicitando el monto y el plazo (12, 24, 36 y 60 meses) así como el interés y el pago mensual.

Por otro lado, dentro del ejercicio vamos a solicitar los datos del cliente que los pide, por ejemplo el sueldo, nombre, género, etcétera.

(más…)

Eliminar impares de lista con Python

Python: eliminar impares de lista

En este post de programación en Python te mostraré cómo eliminar números impares de una lista, arreglo o array.

Básicamente vamos a filtrar los elementos de la lista para que la lista solo contenga números pares, esto lo vamos a lograr eliminando los otros elementos impares.

Para hacer las cosas simples y no mover índices vamos a crear una nueva lista en donde solo vamos a colocar a los pares.

(más…)

Ejercicio resuelto de copias de exámenes en Python

Python – Detectando copia en exámenes (ejercicio resuelto)

Hoy vamos a resolver un ejercicio de programación en Python que trata sobre detectar copia en exámenes. Básicamente es trabajar con entrada y salida de datos así como con listas y las operaciones que estas conllevan.

El ejercicio está confuso (me parece que a propósito) ya que da información innecesaria, pero supongo que es parte de su complejidad.

Veamos cómo resolverlo en pocas líneas usando Python.

(más…)

Python: validar secuencia de ADN

En este post te mostraré un ejercicio sencillo en Python. Se trata de, dada una cadena que representa la secuencia de ADN, ver si es válida.

No creas que será algo complejo o algo que tenga que ver realmente con el ADN (o cosas de esas que van mucho más allá de la programación) sino que simplemente será un ejercicio para comprobar si una string contiene únicamente las letras A, C, T y G.

(más…)

PHP – Cortar cadena por cantidad de palabras

Hoy vamos a trabajar un poco con PHP y un algoritmo para limitar una cadena a determinada cantidad de palabras es decir, cortar una cadena en determinada cantidad de palabras.

Por ejemplo, si extraemos las primeras 2 palabras de la frase “Hola mundo desde parzibyte.me” nos queda “Hola mundo”. Eso es justamente lo que haremos con PHP: extraer N cantidad de palabras.

(más…)

Jugando Gato (tres en línea) programado con Java

Tres en línea en Java – Programación de juego

Hoy veremos cómo programar el juego de 3 en línea en Java. Este juego también es conocido como Tres en raya, ceros y cruces, triqui, gato, juego del gato, Gatos o gatitos, dependiendo del país.

Jugando Gato (tres en línea) programado con Java

Jugando Gato (tres en línea) programado con Java

El juego consiste en un tablero de 3 x 3 en donde se coloca un círculo o una cruz. El juego se desarrolla por turnos y cada jugador elige ser Cruz o Círculo. Gana el jugador que pueda conectar 3 símbolos formando una línea recta.

En el juego que vamos a programar en Java vamos a tener la opción de jugar contra un amigo (otro ser humano), contra el CPU (con una pequeña inteligencia artificial)  o enfrentar al CPU contra sí mismo.

(más…)