Skip to content

[algoritmos] Resto de los ejercicios de práctica de C (y un par de cosas más) - #22

Draft
foopsss wants to merge 24 commits into
mainfrom
tp-c
Draft

[algoritmos] Resto de los ejercicios de práctica de C (y un par de cosas más)#22
foopsss wants to merge 24 commits into
mainfrom
tp-c

Conversation

@foopsss

@foopsss foopsss commented Jan 19, 2026

Copy link
Copy Markdown
Owner

Con este PR voy a añadir los ejercicios que faltan, así como refinar algunos aspectos del repositorio.

@foopsss foopsss changed the title [algoritmos] Resto de los ejercicios de práctica de C [algoritmos] Resto de los ejercicios de práctica de C (y un par de cosas más) Jan 19, 2026
@foopsss foopsss self-assigned this Jan 21, 2026
@foopsss foopsss added Adición de resoluciones El ticket o PR trata sobre resoluciones que no se encuentran en la rama principal Lenguaje de programación El ticket o PR está relacionado con un lenguaje de programación labels Jan 21, 2026
@foopsss
foopsss marked this pull request as draft January 21, 2026 17:35
foopsss added 20 commits August 20, 2026 18:46
.clang-format es un archivo de configuración para clang-format, un formateador de código para C y C++ (así como para un par más de lenguajes).

clang-format.py es un script que revisa todo el repositorio para encontrar y formatear los archivos de C y C++ presentes. Hago esto porque clang-format debe ejecutarse en un directorio donde ya haya archivos formateables, y no realiza búsquedas recursivas.
Archivo que puede ser interpretado por muchos editores de texto para obtener las preferencias del usuario. Justamente, yo defino algunas acá.
Formateados con clang-format.
A pesar de que el método no es del todo ortodoxo, creé una librería/cabecera con definiciones de funciones a compartir entre varios ejercicios.

También cambié la manera de definir arreglos y funciones para trabajar con arreglos, utilizando técnicas que me parecen más correctas para trabajar, como definir el tamaño en una constante de tipo "size_t" que se puede utilizar luego como parámetro de una función para evitar el uso de números mágicos al llamar funciones.
Y también adición a functions.h de una función utilizada para ordenar arreglos de números enteros.
Modifiqué la función cargar_arreglo_enteros() para usar métodos más especializados y correctos para generar números al azar en Windows y Linux, dejando el método del tiempo como fallback para otras plataformas.

Esto podría generar un problema con el ejercicio 2-7, debido a que antes ambos arreglos en el ejercicio se cargaban con exactamente los mismos valores, y entiendo que era justamente por la manera tan genérica de obtener los números al azar.
Me había olvidado de definir algunos valores numéricos como constantes. Corregido ahora, para que no haya números mágicos.
Se reacomodaron algunas importaciones de librerías y definiciones condicionales de variables para que estén en el lugar correcto.

También se modificó la lógica de obtención de números al azar en get_random_number() para que la función no devuelva números negativos si no está permitido.

Esto también requirió modificar cargar_arreglo_enteros() para respetar la nueva definición de get_random_number().
Correcciones de clang-format.
Había una consigna adicional en el ítem 9 para hacer por separado en la guía.
Ahora se arregla definitivamente la carga de números negativos en arreglos con una solución un tanto fea, si se quiere, pero que permite que get_random_number() igual permita obtener un número negativo al azar.

Está explicado en el comentario que añadí a la librería junto con el cambio.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Adición de resoluciones El ticket o PR trata sobre resoluciones que no se encuentran en la rama principal Lenguaje de programación El ticket o PR está relacionado con un lenguaje de programación

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant