Dev - C++ - Cadena de caracteres en C++

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cadena de caracteres en C++

Publicado por Andy (12 intervenciones) el 18/03/2020 09:11:41
Debo realizar un programa que lea una palabra y una letra. Luego tengo que buscar la primera coincidencia de la letra en la palabra e imprimirla.

Ejemplo: Si ingresamos la palabra: Ferrocarril y la letra c ... Se imprime la palabra carril.

Supongo que después de introducir la palabra y la letra, debo de leer la palabra y establecer una condición que detecte la letra que se dió... pero como imprimo el resto de la palabra? Debo hacer otro vector para guardarla?

Estoy un poco confundida sobre como debe de ir el ciclo...

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
#include <iostream>
 
using namespace std;
 
int main()
{
    char palabra[20];
    cout<<"Dame una palabra: "<<endl;
    cin.getline(palabra,20);
 
    char letra;
    cout<<"Dame una letra que incluya la palabra dada anteriormente: "<<endl;
    cin>>letra;
 
    int x;
    for (x=0; x<20; x++)
    {
        if (palabra[20]==letra)
        {
 
        }
    }
 
    return 0;
}

Gracias por la ayuda
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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cadena de caracteres en C++

Publicado por Alfil (1444 intervenciones) el 18/03/2020 11:14:13
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
#include <iostream>
#include <string>
 
int main()
{
    std::string palabra;
    char letra;
 
    std::cout << "\nIntroduce una palabra: ";
    std::cin >> palabra;
 
    std::cin.ignore(80, '\n');
    std::cout << "Introduce una letra: ";
    std::cin >> letra;
 
    std::size_t found = palabra.find(letra);
 
    if (found != std::string::npos)
    {
        std::cout << "\nLa nueva cadena es: ";
        for (std::size_t i = found; i < palabra.size(); i++)
            std::cout << palabra[i];
    }
    else
        std::cout << "\nLetra " << letra << " no encontrada.";
 
    std::cout << std::endl;
 
    return EXIT_SUCCESS;
}
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: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cadena de caracteres en C++

Publicado por Andy (12 intervenciones) el 18/03/2020 18:17:27
¿De casualidad habrá otra forma pero sin strings...?
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: 160
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cadena de caracteres en C++

Publicado por Andrés (53 intervenciones) el 18/03/2020 19:57:09
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
37
38
39
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int main() {
 
    size_t len = 20;
 
    char palabra[len] = {'\0'};
    cout << "Dame una palabra: ";
    cin.getline(palabra, len);
 
    char letra;
    cout << "Dame una letra que incluya la palabra dada anteriormente: ";
    cin >> letra;
 
    int pos = -1;
 
    for(size_t i = 0; pos == -1 && i < len ; i++) {
        if(letra == palabra[i])
          pos = i;
    }
 
    if(-1 != pos) {
 
       for(size_t j = pos; j < len ; j++)
           cout << palabra[j];
 
        cout<<endl;
 
    }else {
 
        cout << letra << " no encontrada en " << palabra << endl;
    }
 
    return EXIT_SUCCESS;
 
}
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: 21
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cadena de caracteres en C++

Publicado por Andy (12 intervenciones) el 18/03/2020 20:32:08
Gracias! Al final lo solucioné así:

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
#include <iostream>
 
using namespace std;
 
int main()
{
    char palabra[50], letra;
    int x=0;
 
    cout<<"Introdue una palabra: ";
    cin.getline(palabra,50);
 
    cout<<"\nIntroduce una letra: ";
    cin>>letra;
 
    while (palabra[x]!='\0')
    {
        if (palabra[x]==letra)
        {
            cout<<"\nNueva palabra: ";
            while (palabra[x]!='\0')
            {
               cout<<palabra[x];
               x++;
            }
        }
        x++;
    }
 
    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