C - Obtener índice de subcadena en cadena

Anteriormente en mi blog te enseñé cómo saber si una cadena en C contiene una subcadena. Ahora te mostraré cómo saber el índice (es decir, la posición) en donde aparece la subcadena dentro de la cadena. Para esto vamos a usar strstr y operaciones con punteros. ...

febrero 2, 2021 · 2 min · 279 palabras · Parzibyte

C - Convertir a minúscula y mayúscula intercalado

En este post de programación en C, también conocido como ANSI C vamos a ver cómo intercalar las letras de una cadena para convertir una en mayúscula, la siguiente en minúscula, y así hasta terminar. Básicamente vamos a convertir un carácter a minúscula, el segundo a mayúscula y así sucesivamente. Esto es convertir la cadena de manera intercalada. Por ejemplo, convertir parzibyte a PaRzIbYtE. ...

febrero 1, 2021 · 2 min · 245 palabras · Parzibyte

C - Árbol binario de cadenas

En este post te mostraré cómo implementar la estructura de datos de árbol binario en ANSI C en donde el dato de cada nodo o rama será una cadena. Te enseñaré cómo agregar un struct de nodo de árbol cuyo dato es char*, elegir si el nodo va a la izquierda o derecha (comparando cadenas) , recorrer el árbol en preorden, inorden y postorden y también hacer una búsqueda en el mismo. Me estoy basando en el tutorial de árboles binarios en C que presenté anteriormente, solo que en aquel entonces fue con un tipo de dato entero, ahora lo haré con strings. Nota: nodo y rama serán usados como sinónimos a lo largo de este post. ...

enero 13, 2021 · 8 min · 1498 palabras · Parzibyte

Concatenar char y string en C

En este post sobre C te mostraré cómo concatenar un carácter y una cadena, es decir, agregar un tipo de dato char a un tipo de dato char* que no es otra cosa más que un arreglo de caracteres, ya que en C no existen las strings como tal. Explicado con pocas palabras te enseñaré como agregar un char como 'a' a una cadena como "Hol". Aunque en otros lenguajes esto no tiene ninguna complejidad, en ANSI C hay que escribir un poco más de código. ...

enero 13, 2021 · 3 min · 433 palabras · Parzibyte

C - Distancia entre dos coordenadas

Hoy te mostraré cómo calcular la distancia entre dos puntos del globo terráqueo a partir de las coordenadas de los mismos, usando el lenguaje de programación C. Por ejemplo, sabremos la distancia que hay entre dos ciudades o lugares usando solo sus coordenadas. Al final tendremos un programa en C que nos dirá la distancia que hay entre dos puntos en línea recta, con el resultado en kilómetros que al final podremos convertir a otra unidad como metros o millas. Por cierto, vamos a usar la fórmula del semiverseno, también conocida como Haversine. Nota: esto es distinto a calcular la distancia entre dos puntos de un plano cartesiano, aquí vamos a calcular la distancia entre dos puntos geográficos, es decir, dos lugares del planeta Tierra. ...

enero 2, 2021 · 4 min · 674 palabras · Parzibyte

C - Distancia entre dos puntos

Hoy veremos cómo obtener la distancia entre dos puntos del plano cartesiano usando el lenguaje de programación C y la fórmula de la distancia, que no es más que aplicar el teorema de Pitágoras. Básicamente vamos a transcribir la fórmula al lenguaje y encerrarla en una función para su reutilización a través del resto de código. Aquí te mostraré el programa en C para obtener la distancia entre dos puntos, pero no te explicaré la fórmula. Si quieres estudiar la fórmula te recomiendo este enlace. Nota: si quieres calcular la distancia entre dos puntos geográficos del planeta mira este post. ...

enero 2, 2021 · 2 min · 376 palabras · Parzibyte

C - Raíz cuadrada sin sqrt: Método de Newton

En este blog ya hemos visto cómo calcular la raíz cuadrada de un número usando el lenguaje de programación C y la función sqrt, pero hoy veremos cómo obtener la raíz cuadrada sin usar sqrt. Para calcular la raíz cuadrada de un número en C sin sqrt vamos a aplicar el Método de Newton en donde nos vamos a ir aproximando a la raíz cuadrada del número. Como siempre, aquí te explicaré cómo aplicar el método, más no el método en sí, pues para ello puedes consultar otros sitios. ...

enero 2, 2021 · 3 min · 609 palabras · Parzibyte

Valor absoluto en C

En este post de programación en C te enseñaré a calcular el valor absoluto de un número. El valor absoluto es la distancia que existe entre dos puntos de una recta, y esta distancia siempre será positiva. Explicado con otras palabras y sin ser matemático, el valor absoluto es convertir un número a su representación positiva en caso de que éste sea negativo. Anteriormente te enseñé cómo convertir un número negativo a positivo en C en donde vimos funciones nativas, pero en este post te enseñaré cómo hacer una función propia. ...

enero 2, 2021 · 2 min · 276 palabras · Parzibyte

C - Leer cadena con espacios

Al solicitar datos de tipo cadena por teclado en C lo más común es usar la función scanf con el formato %s, cosa que funciona bien excepto por dos cosas: La función scanf puede causar un desbordamiento de búfer, cosa que ya expliqué aquí. No puede leer una cadena con espacios. Así que hoy te mostraré cómo escanear o leer desde el teclado una cadena que incluya espacios en el lenguaje de programación C, misma que es una alternativa segura a scanf. ...

diciembre 31, 2020 · 2 min · 388 palabras · Parzibyte

C - Limpiar búfer al usar scanf y fgets

Hay un pequeño problema que ocurre en C al usar scanf en conjunto con fgets. Es decir, primero usar scanf para leer un valor, e inmediatamente después usar fgets. El problema es que al usar scanf en primer lugar, el programa no “espera” a que el usuario introduzca la cadena con fgets. Como resultado, se lee una cadena vacía o “nada”. Este error también se me ha presentado al usar scanf en algunos ciclos y en conjunto con otras funciones que leen de stdin. Por eso hoy te mostraré una solución para este problema. ...

diciembre 31, 2020 · 3 min · 568 palabras · Parzibyte