Cortar cadena en C++ usando substr

Cortar cadena en C++

En este post de programación en C++ con cadenas o strings te mostraré cómo extraer una subcadena de una cadena.

Dicho en otras palabras, te enseñaré a cortar una cadena en C++. Por ejemplo, extraer solo los primeros 4 N caracteres de una string o extraer una porción de la misma.

Todo esto lo haremos con la función substr de C++.

(más…)

Programación C++ - Separar cadena usando punto y coma

C++ | Separar cadena por delimitador

En este post te enseñaré cómo separar una cadena por delimitador o token (una coma, espacios, punto y coma, saltos de línea, puntos) en C++. Esto se conoce en varios lenguajes como la función split, aunque en C++ no existe esa función pero podemos llegar al mismo resultado.

Con lo que te enseñaré hoy podrás separar una cadena por comas, punto y coma, etecétera usando el lenguaje C++ también conocido como CPP. Recuerda que puedes hacerlo con strtok usando C, pero hoy te enseñaré otro enfoque que funciona en C++.

(más…)

Árbol binario en C con nodo de tipo cadena

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.

(más…)

Concatenar char y string en C

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.

(más…)

Problema con scanf - No lee espacios al solicitar datos por teclado

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:

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.

(más…)

Función strncpy en C

La función strncpy en el lenguaje C es una mejora (o alternativa) de la función strcpy que quiere decir string copy. La n indica el conteo que se copia, que en términos simples podrían ser caracteres.

Entonces la diferencia es que strncpy copia solo determinada cantidad de caracteres, contraria a strcpy que copia todo; con el riesgo de que ocurra un desbordamiento de búfer.

En este post te mostraré la sintaxis de strncpy y su modo de uso con ejemplos.

(más…)

Anagrama en Python

En este post de programación en Python vamos a resolver un ejercicio para saber si dos cadenas son anagramas, o mejor dicho, si una cadena es anagrama de otra.

Recuerda que una palabra es anagrama de otra si ambas tienen las mismas letras pero ordenadas de distinta manera. Por ejemplo, Hola y Aloh son anagramas pues aunque tienen distinto orden ambas tienen 4 letras que son las mismas.

En este caso estamos suponiendo que las mayúsculas y minúsculas no importan, ya que normalmente los anagramas no toman en cuenta eso.

(más…)

Convertir cadena a lista en Python

En este post de programación en Python te mostraré algo muy simple: cómo convertir una string a una lista o arreglo, y también lo inverso: convertir arreglo a cadena.

De este modo vas a poder convertir entre ambas cosas usando métodos nativos de Python.

Nota: usaré lista, arreglo y array como sinónimos.

(más…)

C – Ejercicio resuelto sobre gestión de películas

En este post de programación en C voy a resolver un ejercicio que trata sobre cines y la gestión de películas. Es un ejercicio para practicar ANSI C. Dice así:

Diseñar un programa en Lenguaje C que almacene la información de las películas que se proyectan en las distintas salas de los siguientes cines: CDMX Norte, CDMX Oriente, Reforma y Perisur.

Cada cine tiene 3 salas, hay 2 horarios distintos en cada sala (4:00 pm y 6:00 pm) Realizar un menú para el uso de este programa. En el programa debe definirse las estructuras de datos (struct) necesarias para almacenar la información sobre las películas: título de la película, hora de inicio, cines y salas donde se proyecta, clasificación (A todo público, B adolescentes y adultos y C mayores de 21 años).

El menú del programa debe tener las siguientes opciones:

  1. Registrar una película. Si ya había alguna película, está será sustituida por la proporcionada en esta opción.
  2. Desplegar toda la información de la película que se proyecta en la sala de un cine. Se pedirá al usuario que proporcione el cine, la sala, la hora y el día correspondiente, y el programa listará la información de la película que está proyectada en la cartelera. En caso de no haber película proyectada, se visualizará el mensaje correspondiente.
  3. Buscar película. El usuario elige la película que quiere buscar y desplegar toda la información.
  4. Listar películas que se están exhibiendo en un cierto día por clasificación de edad.
  5. Salir del Programa.

Veamos entonces cómo resolver ese ejercicio.

(más…)