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

Cum pot rezolva aceasta problema?

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/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 S0unds
0
#include <iostream>
#include <string.h>
using namespace std;

int main()
{
char x[100],aux[100];
int n,n2,k=0;
cin.getline(x,100);
n=strlen(x);
for(int i=0;i<n;i++)
{
if(x[i]!=' ')
{
aux[k++]=x[i];
n2=strlen(aux);
}
else
{
for(int j=0;j<n2;j++)
{
if(aux[j]=='D'&&aux[j+1]=='O')
cout<<aux;
if(aux[j]=='R'&&aux[j+1]=='E')
cout<<aux;
if(aux[j]=='M'&&aux[j+1]=='I')
cout<<aux;
if(aux[j]=='F'&&aux[j+1]=='A')
cout<<aux;
if(aux[j]=='S'&&aux[j+1]=='O'&&aux[j+2]=='L')
cout<<aux;
if(aux[j]=='L'&&aux[j+1]=='A')
cout<<aux;
if(aux[j]=='S'&&aux[j+1]=='I')
cout<<aux;
}
k=0;
strcpy(aux,"");
}
}
}
//Asta ar fii solutia mea, dar nu functioneaza in totalitate
Alte întrebări interesante