Dev - C++ - Determinar si dos o mas palabras de una frase son iguales

 
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++

Determinar si dos o mas palabras de una frase son iguales

Publicado por Francisco (36 intervenciones) el 12/02/2018 11:08:25
Hola, hay que determinar en una frase si dos o mas palabras son iguales.
Lo tengo mal al codigo, ¿Me podrian ayudar, por favor?, se los agradeceria mucho.
Aca va el codigo.

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
35
36
#include<iostream>
using namespace std;
int main(){
int i=0,j=0,longitud=0;
char verdad='f';
string frase=" ";
char aux=' ';
cout<<"ingrese la frase "<<endl;
getline(cin >> ws, frase);
longitud= frase.length();
for(i=0;i<longitud-1;i++){
for(j=i+1;j<longitud;j++){
if(frase[i]>frase[j]){
aux = frase[i];
frase[i]=frase[j];
frase[j]=aux;
}
}
}
for(i=0;i<longitud-1;i++){
           for(j=i+1;j<longitud;j++){
                       if(frase[i]==' ' && (frase[i+1]!=' ' && frase[i+2]!=' ') || frase[i]==frase[j]){
                                  verdad= 't';
                    }
              }
     }
 
 
if(verdad=='t'){
cout<<"en la frase hay dos o mas palabras que son iguales "<<endl;
}
else{
cout<<"ninguna de las palabras son iguales"<<endl;
}
return 0;
}
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

Determinar si dos o mas palabras de una frase son iguales

Publicado por Erick (8 intervenciones) el 12/02/2018 17:38:43
Solo la cantidad o mostrar la palabra?
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
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++

Determinar si dos o mas palabras de una frase son iguales

Publicado por Francisco (36 intervenciones) el 12/02/2018 17:56:50
Mostrar la palabra.
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: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Determinar si dos o mas palabras de una frase son iguales

Publicado por Martín (158 intervenciones) el 12/02/2018 18:38:39
Esta es una solución para C++17, pero si tu compilador no soporta el estándar, supongo que podrás adaptarla.

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
#include <iostream>
#include <string>
#include <sstream>
#include <unordered_map>
 
int main()
{
    std::string str;
    std::cout << "Ingresar una frase: ";
    std::getline(std::cin, str);
 
    std::istringstream frase(str);
    std::unordered_map<std::string, int> diccionario;
    std::string palabra;
 
    while (frase >> palabra) {
        ++diccionario[palabra];
    }
 
    for (const auto&[p, n] : diccionario) {
        if (n > 1 && !ispunct(p[0]))
            std::cout << "la palabra \"" << p << "\" se repite " << n << " veces.\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
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++

Determinar si dos o mas palabras de una frase son iguales

Publicado por Francisco (36 intervenciones) el 12/02/2018 18:44:09
¿me puedes dar la solución sin funciones internas, por favor?
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: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Determinar si dos o mas palabras de una frase son iguales

Publicado por Martín (158 intervenciones) el 12/02/2018 18:55:55
Esta es la solución que me gusta, por eso la pongo, si quieres una a medida puedes contactarme y arreglamos los honorarios.
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