Para no tener que recorrer la cadena tantas veces como letras busques, otro modo mas "eficiente" (al menos con cadenas largas y para buscar pocos caracteres).
No se C++ asi que lo hice en C, no creo que te cueste portarlo
.
En items pasas el numero de elementos de vector, en este caso 10 (cada vocal y el numero de repeticiones).
#include <stdio.h>
#include <string.h>
void character(char *string, char *vector, int items);
int main()
{
char string[]="Esta es una prueba";
char vector[]={'a',0,'e',0,'i',0,'o',0,'u',0};
int i;
character(string, vector, 10);
for(i=0;i<10;i+=2)
printf("%c -- %i\n", vector
[i
], vector
[i
+1]);
return 0;
}
void character(char *string, char *vector, int items)
{
int len
=strlen(string
), i
=0, j
=0; for(i=0;i<len;i++)
for(j=0;j<items;j+=2)
if(string[i]==vector[j])
vector[j+1]++;
}
Sa1uDoS