Booleanos en C

Tipo de dato bool en C En el inicio de los tiempos, el lenguaje de programación C no tenía el tipo de dato booleano. De hecho, ni siquiera hoy en día lo tiene como tal, es un simple macro. Sin embargo, como programadores nos hemos dado a la tarea de implementarlos o de emular su uso. Veamos hoy cómo podemos implementar booleanos en C de dos maneras, analizando ventajas y desventajas de cada uso, así como exponiendo ejemplos. ...

noviembre 13, 2018 · 3 min · 597 palabras · Parzibyte

Contar frecuencia de palabras en C

Realizar conteo de ocurrencias de palabras en una oración con C Ya estamos aquí con otro tutorial de C. Lo que haremos ahora será analizar una cadena o string, contar las palabras que tiene (ignorando puntos, espacios y signos) y luego agruparlas para indicar la frecuencia con la que se repiten. Este ejercicio puede resolverse de varias maneras pero yo he decidido hacerlo a través de una pila en donde almacenaremos structs. Aquí puedes ver un ejemplo de una pila de enteros, la modificaremos un poco para que funcione con structs. ¿Por qué una pila en lugar de un arreglo? muy fácil, porque la pila puede tener un tamaño infinito. Al final generaremos una tabla como la que se ve en la imagen (aunque la frecuencia es 1 en la mayoría de veces, la función trabaja bien; el problema fue que la cadena de prueba no tenía muchas palabras repetidas): ...

noviembre 13, 2018 · 10 min · 1940 palabras · Parzibyte

Implementación de una pila dinámica en C

Pila o stack dinámica en el lenguaje C Una pila es una estructura de datos simple. Los datos se van apilando uno tras otro. Podemos abstraer cada elemento como un nodo que puede apuntar a otro nodo. Su modo de acceso es LIFO: el último en entrar es el primero en salir. Las operaciones que tiene son 2: push y pop; la primera le pone un elemento y la segunda quita el último. Veremos las operaciones básicas de una pila o stack en C; además de otras que hice para exponer aquí. Son: Tamaño: devolver el tamaño de la pila Apilar, también conocido como push: agregar un elemento Desapilar, o la operación pop: quitar el último elemento; es decir, el elemento superior Leer último: leer el elemento superior de la pila Vacía: indica si la pila está vacía Imprimir: recorrer la pila e imprimir sus valores Por cierto, esta pila será dinámica: podremos poner elementos infinitos siempre y cuando nuestra memoria RAM alcance (cosa que es muy, muy difícil que ocurra) Nota: esto será un tipo de lista ligada, así como la cola. ...

noviembre 13, 2018 · 8 min · 1648 palabras · Parzibyte

Separar cadena a partir de delimitadores en C con strtok

Resumen: en este post te mostraré a separar una cadena en subcadenas a partir de un delimitador, usando C y la función strtok; el equivalente a split en otros lenguajes. Gracias a esto podríamos separar una cadena por comas, por puntos, por espacios, etcétera. Dividir cadena en C por cada espacio, guión, coma, entre otros En C no existe la función split como en otros lenguajes; en donde simplemente ponemos un delimitador y nos devuelve un arreglo; pero tenemos una función que incluso puede ser más poderosa. Esta función de la que hablo (la cual se llama strtok) nos permitirá dividir una cadena usando un delimitador; por ejemplo una coma. A partir de una cadena, podemos usar delimitadores para obtener tokens. Pongamos a la cadena “Hola, qué tal. Vamos a programar en C”; si la separamos usando el espacio, las comillas y los signos de puntuación obtendríamos las palabras limpias. Por poner otro ejemplo, dada una lista delimitada por comas podemos obtener sus elementos. De “Juan,Pedro,María,Rosa” podemos obtener 4 nombres; usando la coma como delimitador. ...

noviembre 13, 2018 · 4 min · 779 palabras · Parzibyte

Promedio de un arreglo en C

Introducción Aquí expongo un ejercicio simple en el lenguaje de programación C. Se trata de calcular el promedio de un arreglo, algo así como lo que hicimos con Go y JavaScript. ...

noviembre 9, 2018 · 2 min · 281 palabras · Parzibyte

Algoritmo de búsqueda binaria en muchos lenguajes de programación

Introducción Ya estamos aquí con una nueva serie de tutoriales. Esta vez el tema a tratar es la búsqueda binaria en un arreglo, tanto secuencial como recursiva o con recursión. También veremos cómo buscar sin importar si son números o cadenas. Los enlaces a cada post están al final. Disfruta, comenta y comparte :-) ...

noviembre 8, 2018 · 4 min · 729 palabras · Parzibyte

Búsqueda binaria en arreglos de cadenas con C

Introducción Esto es el complemento a la entrada publicada anteriormente sobre la búsqueda binaria en C sobre arreglos de números. Ahí buscamos en arreglos de números, ahora nos toca buscar en arreglos de cadenas. Igualmente aplicaremos la forma recursiva y con el ciclo while. Los arreglos de cadenas son una cosa un poco complicada al inicio, sobre todo en este lenguaje. Por eso te invito a que leas cómo trabajar con arreglos de cadenas en C. ...

noviembre 8, 2018 · 5 min · 948 palabras · Parzibyte

Programa en C: búsqueda binaria recursiva y secuencial en arreglos

Introducción Luego de algún tiempo he terminado de implementar la función recursiva y con ciclos para ejecutar el algoritmo de búsqueda binaria en un arreglo numérico en C. Este algoritmo también es conocido como divide y vencerás; pues va dividiendo el arreglo en 2 hasta encontrar lo que buscamos, aunque como requisito dicho arreglo debe estar ordenado. ...

noviembre 8, 2018 · 5 min · 926 palabras · Parzibyte

Redondear números en C

Introducción El lenguaje de programación C provee métodos para redondear números. Vamos a estudiarlos a los 3 y veremos cómo redondear según el número, redondear hacia abajo y redondear hacia arriba. Las funciones que permiten eso vienen en la librería math.h. Recuerda que esto mismo hicimos con JavaScript hace algún tiempo. ...

noviembre 8, 2018 · 4 min · 706 palabras · Parzibyte

Trabajando con arreglos de cadenas en C

Introducción El tipo de dato cadena, al menos en los estándares de C, no existe. Una cadena es un arreglo de caracteres, o sea, del tipo char. Por lo tanto, para declarar un arreglo de cadenas o strings en C necesitamos un arreglo de caracteres bidimensional, porque tendrá arreglos dentro de un arreglo. Veamos hoy cómo declararlo, calcular su tamaño, recorrerlo y pasarlo como argumento a una función en C. ...

noviembre 8, 2018 · 4 min · 671 palabras · Parzibyte