Dev - C++ - contar cuantas veces se repite un char en un arreglo de tipo string

 
Vista:
Imágen de perfil de Francisco
Val: 55
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

contar cuantas veces se repite un char en un arreglo de tipo string

Publicado por Francisco (36 intervenciones) el 27/01/2018 14:15:04
Como estan?.
Mientras estaba practicando me preguntaba como se podía contar un caracter que apareciera en los elementos del vector de string. ¿Me explico?. Cuando accedemos a las posiciones de un arreglo de tipo string las posiciones en ese caso se toman como string, es decir, como elementos de cadena. ¿Habrá alguna forma de que la posición de un vector de string se cuente como char, es decir contar cuantas veces se repite un caracter en cada elemento del vector de tipo string?, sin usar funciones internas del lenguaje. No busco el codigo fuente completo, sino la parte del codigo que permita contar un caracter que aparece en los elementos del arreglo de string con el agregado de buscar la parte del codigo que permita ordenar los caracteres de cada uno de los elementos del arreglo de string.
Se los agradezco un montón si me responden esas dos preguntas. Yo sinceramente sin funciones internas creo que es casi imposible contar un caracter en un arreglo de string ya que la posición del arreglo se toma como string (palabra o frase) y en cuanto al ordenamiento de caracteres de un arreglo de tipo string seria for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(arr[i]>arr[j]) {aux=arr[i]; arr[i]=arr[j]; arr[j]=aux; } } } donde aux es una variable de tipo string. Ayer envíe lo mismo pero la pagina se desactualizo y la silueta verde desapareció. Agradezco que me respondan de manera favorable
Por cierto, quisiera saber si es posible una conversión de arreglo string a arreglo char porque creo que son diferentes los tamaños. Como puedo almacenar las palabras de un arreglo de tipo string en un arreglo de tipo char de manera generalizada y pidiendo los tamaños de esos arreglos al usuario?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

contar cuantas veces se repite un char en un arreglo de tipo string

Publicado por harol (31 intervenciones) el 27/01/2018 21:08:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*aqui convieto un string a un char , creando puntero, pero este soo analiza una palabra, otra idea sería separar tu string en palabras  y analizar cada una de ellas.
*/
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
 
int main(int argc, char** argv) {
 
	string palabra;
	char *cadena = new char[palabra.length() +1 ];//creamos un puntero
	int contador = 0;
	char caracter;
 
	cout<<"Ingrese una palabra "<<endl;
	cin>>palabra;
	strcpy(cadena,palabra.c_str());
 
	cout<<"Que caracter desea verificar?: ";cin>>caracter;cout<<endl;
 
	for(int i=0; i<palabra.length(); i++){
		if(cadena[i] == caracter){
			contador++;
		}
	}
 
	cout<<"El numero de veces que se repite el caracter"<<caracter<<"es: "<<contador;
 
	delete cadena;
	cout<<endl;
	system("PAUSE");
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Francisco
Val: 55
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

contar cuantas veces se repite un char en un arreglo de tipo string

Publicado por Francisco (36 intervenciones) el 28/01/2018 00:30:25
Muchas gracias. Me sirvió la info. Ese sirve para saber cuantas veces se repite un carácter en un string individual o cadena. Una forma para corroborar cuantas veces aparece un caracter en un vector de string seria crear una variable de tipo string y un vector de string, dentro del for almacenar el vector en el string común. Después crear un arreglo de char y dentro de un bucle guardar el string en el arreglo de char. Finalmente hacer otro for no anidado y dentro de el comparar si aparece el caracter en ese arreglo de char. Sí, la otra forma es descomponer el arreglo de string en palabras y analizar cada una de ellas, aunque es el método mas largo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 417
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

contar cuantas veces se repite un char en un arreglo de tipo string

Publicado por Thanatos (199 intervenciones) el 30/01/2018 04:37:34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
 
using namespace std;
 
int main() {
    string palabras[] = { "uno", "dos", "tres", "cuatro", "cinco" };
    int cont = 0;
    char caracter;
 
    cout << "Contar el caracter: ";
    cin >> caracter;
 
    for (size_t i = 0; i < sizeof palabras / sizeof palabras[0]; ++i) {
        for (const char &ch : palabras[i]) {
            cont += ch == caracter;
        }
    }
    cout << "Total: " << cont << '\n';
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar