Informatică, întrebare adresată de catalinmorar, 8 ani în urmă

Să se caute un caracter într-un şir dat şi să se returneze indexul primei apariţii a caracterului în şir.

Răspunsuri la întrebare

Răspuns de Utilizator anonim
1
Exista doua metode (cel putin...).
Metoda 1 (ceva mai simplu, dar are nevoie de for):
#include <iostream>

using namespace std;

int main()
{
    char a[100], b;
    cin.get(a, 100);
    cin >> b;
    for (int i=0; a[i]; i++)
        if (a[i]==b)
        {
            cout << i;
            break;
        }
    return 0;
}

Metoda 2 (nu are nevoie de for):
#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    char a[100], b;
    cin.get(a, 100);
    cin >> b;
    cout << strchr(a,b)-a;
    return 0;
}

catalinmorar: Mersi pentru raspuns dar la ambele nu merge decat daca bag aceiasi litera sau cifra de doua ori.Nu se poate ca sirul sa fie dat dinainte si eu doar sa bag caracterul care doresc?
Utilizator anonim: Cum adica nu merge daca bagi acelasi caracter de doua ori? Ca la mine merge... https://imgur.com/a/Lt2aL . Vezi ca trebuie ca dupa sirul de caractere sa apesi enter, si apoi sa bagi caracterul pe care vrei sa il cauti
catalinmorar: Da merge,daca il bag de doua ori.
Utilizator anonim: a, scuze, am intele gresit... dar si daca bag o singura data tot merge : https://imgur.com/a/p6Tuu
Alte întrebări interesante