Cerința
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 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
.
Date de intrare
Programul citește de la tastatură un text de tipul menționat.
Date de ieșire
Programul va afișa 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
.
Restricții și precizări
- cuvintele vor fi afișate în ordinea din text
- notele muzicale sunt
DO
,RE
,MI
,FA
,SOL
,LA
,SI
.
Exemplu
Intrare
REMI DOMINO SI KHANHOO SUNT DENUMIRI DE JOCURI CE AU ASPECTE SIMILARE
Ieșire
REMI DOMINO SI DENUMIRI SIMILARE
#include <bits/stdc++.h> using namespace std; char s[101] , m[101][101]; bool DO(char a , char b) { if(a=='D' && b=='O') return 1; return 0; } bool RE(char a , char b) { if(a=='R' && b=='E') return 1; return 0; } bool MI(char a , char b) { if(a=='M' && b=='I') return 1; return 0; } bool FA(char a , char b) { if(a=='F' && b=='A') return 1; return 0; } bool SOL(char a , char b) { if(a=='S' && b=='O') return 1; return 0; } bool LA(char a , char b) { if(a=='L' && b=='A') return 1; return 0; } bool SI(char a , char b) { if(a=='S' && b=='I') return 1; return 0; } bool oke(int i) { int j = 1; while(m[i][j]!='\0') { if(RE(m[i][j-1] , m[i][j])) return 1; if(DO(m[i][j-1] , m[i][j])) return 1; if(MI(m[i][j-1] , m[i][j])) return 1; if(FA(m[i][j-1] , m[i][j])) return 1; if(SOL(m[i][j-1] , m[i][j]) && m[i][j+1] == 'L') return 1; if(LA(m[i][j-1] , m[i][j])) return 1; if(SI(m[i][j-1] , m[i][j])) return 1; j++; } } int main() { cin.getline(s , 101); bool ok = true; int cnt = 1 , j = 0; int i = 0; while(s[i]!='\0') { if(s[i]==' ' && s[i-1]!=' ') { cnt++; j=0; } else m[cnt][j]=s[i] , j++; i++; } int r = 0; for(int i = 1 ; i <= cnt ; ++i) { if(oke(i)) cout << m[i] << endl , r++; } if(!r) cout << "nu exista"; return 0; }