#2693
Se dă un șir de caractere în care cuvintele sunt formate din litere mici și mari ale alfabetului englez și sunt separate prin spații. Să se afișeze cuvintele în ordine descrescătoare după numărul de vocale și să se afișeze fiecare cuvânt pe câte o linie. Dacă două cuvinte au același număr de vocale atunci ele se vor ordona descrescător după lungime, iar dacă au aceeași lungime atunci se vor ordona lexicografic.
| Problema | VocSortDesc | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #62210040 | Utilizator | |
| Fișier | vocsortdesc.cpp | Dimensiune | 879 B |
| Data încărcării | 13 Ianuarie 2026, 18:19 | Scor/rezultat | Eroare de compilare |
vocsortdesc.cpp: In function 'int voc(char*)': vocsortdesc.cpp:9:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for( int i=0;i<strlen(x);i++) ^ vocsortdesc.cpp: In function 'int main()': vocsortdesc.cpp:30:83: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if(voc(b[i])<voc(b[j])or(voc(b[i])==voc(b[j]) and strlen((b[i])<strlen(b[j])))or (voc(b[i])==voc(b[j])and strlen(b[i])==strlen(b[j]))and strcmp(b[i],b[j])>0) ^ vocsortdesc.cpp:30:84: error: cannot convert 'bool' to 'const char*' for argument '1' to 'size_t strlen(const char*)' if(voc(b[i])<voc(b[j])or(voc(b[i])==voc(b[j]) and strlen((b[i])<strlen(b[j])))or (voc(b[i])==voc(b[j])and strlen(b[i])==strlen(b[j]))and strcmp(b[i],b[j])>0) ^ vocsortdesc.cpp:38:8: error: 'i' was not declared in this scope for(i=0;i<x;i++) ^ vocsortdesc.cpp:38:14: error: 'x' was not declared in this scope for(i=0;i<x;i++) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema VocSortDesc 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ă.