Informatică, întrebare adresată de sanziana009, 9 ani în urmă

C++:
Se consideră un text cu cel mult 100 de caractere, în care cuvintele sunt formate din litere mari ale alfabetului englez și sunt separate prin câte un spațiu.
Scrieţi un program C++ care citeşte de la tastatură un text de tipul menţionat mai sus şi afișează pe ecran, pe câte un rând, cuvintele care cuprind cel puțin o notă muzicală. Dacă nu există astfel de cuvinte, se afișează pe ecran mesajul nu exista.
Notele muzicale sunt DO, RE, MI, FA, SOL, LA, SI.

Exemplu: pentru textul
REMI DOMINO SI KHANHOO SUNT DENUMIRI DE JOCURI CE AU ASPECTE SIMILARE

se afişează cuvintele de mai jos, nu neapărat în această ordine:

REMI
DOMINO
SI
DENUMIRI
SIMILARE

Răspunsuri la întrebare

Răspuns de razvan16
16
Pe cat de simplu, pe atat de greu
Ai aici rezolvarea la care m-am gandit eu
int main()
{
    char key[]="REMI DOMINO SI KHANHOO SUNT DENUMIRI DE JOCURI CE AU ASPECTE SIMILARE";
    char str1[]="DO";
    char str2[]="RE";
    char str3[]="MI";
    char str4[]="FA";
    char str5[]="SOL";
    char str6[]="LA";
    char str7[]="SI";
    char sep[]=" ";
    char b[50][50];
    char c[50][50];
    char * p=strtok(key,sep);
    int k=0;
    while(p)
    {
    strcpy(b[k],p);k++;

        p=strtok(NULL,sep);
    }

    int j=0;
    bool ok=false;
for(int i=0;i<k;i++)
{
    ok=false;
        if(strstr(b[i],str1))
        {
            ok=true;
        }
        if(strstr(b[i],str2))
        {
            ok=true;
        }
        if(strstr(b[i],str3))
        {
            ok=true;
        }
        if(strstr(b[i],str4))
        {
            ok=true;
        }
        if(strstr(b[i],str5))
        {
            ok=true;
        }
        if(strstr(b[i],str6))
        {
            ok=true;
        }
        if(strstr(b[i],str7))
        {
            ok=true;
        }
        if(ok==true)
           {
               strcpy(c[j],b[i]);j++;
            }

}
        if(ok==false)
        {
            cout<<" Nu exista!";
        }
for(int i=0;i<j;i++)
    cout<<c[i]<<endl;
}
Eu am dat valoare vectorului key fara a-l mai citi de la tastatura ca dura prea mult,poti modifica usor

Alte întrebări interesante