#3155
anagrame4
Se citește de la tastatură un cuvânt s
format din cel mult 11 litere mici distincte. Să se genereze în ordine alfabetică și să se afișeze toate anagramele cuvântului s în care consoanele sunt puncte fixe.
Problema | anagrame4 | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #35188178 | Utilizator | |
Fișier | anagrame4.cpp | Dimensiune | 712 B |
Data încărcării | 01 Martie 2022, 08:00 | Scor / rezultat | 100 puncte |
anagrame4.cpp: In function 'int afisare()': anagrame4.cpp:3:305: warning: no return statement in function returning non-void [-Wreturn-type] int n , m , x[30] , p[30] , cnt; char cuv[30] , s[30]; int voc(char s) { if(s == 'a' || s == 'e' || s == 'i' || s == 'o' || s == 'u') return 1; else return 0; } int afisare() { int pp = 1; for(int i = 1 ; i <= n ; i++) if(!voc(cuv[i - 1])) cout << cuv[i - 1]; else cout << s[x[pp]] , pp++; cout << '\n'; } void back(int k) { for(int i = 1 ; i <= cnt ; i++) if(!p[i]) { x[k] = i; p[i] = 1; if(k == cnt) afisare(); else back(k + 1); p[i] = 0; } } int main() { cin >> cuv; n = strlen(cuv); for(int i = 0 ; i < n ; i++) if(voc(cuv[i])) s[++cnt] = cuv[i]; for(int i = 1 ; i <= cnt ; i++) for(int j = i + 1 ; j <= cnt ; j++) if(s[i] > s[j]) swap(s[i] , s[j]); back(1); } ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 20 | 20 | Exemplu | |
2 | 0 secunde | OK. | 20 | 20 | ||
3 | 0 secunde | OK. | 20 | 20 | ||
4 | 0 secunde | OK. | 20 | 20 | ||
5 | 0 secunde | OK. | 20 | 20 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema anagrame4 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.