En este post vamos a ver cómo contar consonantes de una cadena en C, es decir, vamos a recorrer una cadena y contar cuántas consonantes tiene.

Recordemos que una consonante (sin ser un experto en el lenguaje español) es algo que está dentro del abecedario pero no es una vocal.

Función para obtener la cantidad de consonantes que tiene una cadena en ANSI C

Por lo tanto para poder contar consontantes de una cadena en C o mejor dicho, obtener la cantidad de consonantes que una cadena tiene hay que recorrer la cadena y comparar cada carácter, así como cuando contamos las vocales.

El algoritmo

Primero debemos recorrer la cadena y obtener cada carácter. A ese carácter le aplicamos dos filtros.

  1. El primer filtro es saber si el carácter es del alfabeto (no es un espacio, no un guión, no un número, etcétera), para ello usamos la función isalpha que viene dentro de ctype.h
  2. El segundo filtro es saber si el carácter NO es una vocal, para ello usamos una función definida por nosotros que indica si un carácter es vocal

Si ambos filtros se cumplen, podemos decir que el carácter es consonante.

A continuación tenemos la función que dice si un carácter es vocal, la misma nos ayuda para contar consonantes de una cadena en C:

See the gist on github.

La convertimos a mayúscula usando toupper para que las comparaciones sean menos.

Cantidad de consonantes en una cadena de C

Ahora que ya tenemos la función ayudante, podemos implementar la función llamada contarConsonantes que recibe una cadena (bueno, un apuntador al primer elemento de un arreglo de tipo char, pero queremos usar términos simples) y devuelve un entero con la cantidad de consonantes.

See the gist on github.

Tenemos la variable i que nos ayuda a recorrer la cadena, en cada paso comprobamos si es del abecedario y si no es vocal, en caso de que se cumplan, simplemente aumentamos la cantidad de consonantes.

Al terminar de recorrer la cadena devolvemos el número de consonantes.

Poniendo todo junto

Ahora veamos un ejemplo de uso de la función para poder contar consonantes de una cadena en ANSI C. Queda así:

See the gist on github.

En el método main estamos invocando a la función contarConsonantes y después con printf imprimimos los resultados.

Si quieres, puedes probar el ejercicio aquí. Recuerda que la cadena podría ser proporcionada por el usuario usando por ejemplo fgets.

Por cierto, aquí puedes ver cómo contar las vocales y aquí más sobre ANSI C.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Compartir
Publicado por
parzibyte

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

3 días hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

3 días hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

3 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

3 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

7 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 semana hace

Esta web usa cookies.