Programa C++ para contar vocales en una string usando Pointer

Prerrequisito: Punteros en C++

Dada una string de alfabetos ingleses en minúsculas. La tarea es contar el número de vocales presentes en una string usando punteros

Ejemplos:

Input : str = "geeks"
Output : 2

Input : str = "geeksforgeeks"
Output : 5 

Acercarse:

  1. Inicialice la string usando una array de caracteres.
  2. Cree un puntero de carácter e inicialícelo con el primer elemento de la array de caracteres (string).
  3. Crea un contador para contar las vocales.
  4. Iterar el ciclo hasta que el puntero del carácter encuentre el carácter nulo ‘\0’, y tan pronto como encuentre el carácter nulo, detenga el ciclo.
  5. Verifique si alguna vocal está presente o no mientras itera el puntero, si se encuentra una vocal, incremente el conteo.
  6. Imprime el conteo.

A continuación se muestra la implementación del enfoque anterior:

// CPP program to print count of
// vowels using pointers
  
#include <iostream>
  
using namespace std;
  
int vowelCount(char *sptr)
{
    // Create a counter
    int count = 0;
  
    // Iterate the loop until null character encounter
    while ((*sptr) != '\0') {
  
        // Check whether character pointer finds any vowels
        if (*sptr == 'a' || *sptr == 'e' || *sptr == 'i'
            || *sptr == 'o' || *sptr == 'u') {
  
            // If vowel found increment the count
            count++;
        }
  
        // Increment the pointer to next location
        // of address
        sptr++;
    }
  
    return count;
}
  
// Driver Code
int main()
{
    // Initialize the string
    char str[] = "geeksforgeeks";
  
    // Display the count
    cout << "Vowels in above string: " << vowelCount(str);
  
    return 0;
}
Producción:

Vowels in above string: 5

Publicación traducida automáticamente

Artículo escrito por bilal-hungund y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *