#895
Scrieţi definiția completă a subprogramului C++ permutare care are 2 parametri: a, prin care primeşte un tablou unidimensional cu maximum 100 de numere naturale mai mici decât 1000 și n, numărul efectiv de elemente ale tabloului.
Subprogramul verifică dacă elementele vectorului a reprezintă o permutare fără puncte fixe a mulțimii {1,2,...,n} și returnează valoarea 1 în caz afirmativ, respectiv 0 în caz negativ.
| Problema | PermutarePF | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64427113 | Utilizator | |
| Fișier | permutarepf.cpp | Dimensiune | 201 B |
| Data încărcării | 06 Mai 2026, 12:34 | Scor/rezultat | Eroare de compilare |
permutarepf.cpp: In function ‘int permutare(int, int*)’: permutarepf.cpp:9:9: error: ‘sort’ was not declared in this scope; did you mean ‘short’? 9 | sort (a,a+n); | ^~~~ | short permutarepf.cpp:7:9: warning: unused variable ‘s’ [-Wunused-variable] 7 | int s,i,ok=1; | ^ permutarepf.cpp:7:13: warning: unused variable ‘ok’ [-Wunused-variable] 7 | int s,i,ok=1; | ^~ permutarepf.cpp: In function ‘int main()’: permutarepf.cpp:21:35: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive] 21 | cout << permutare(a , n) << endl; | ^ | | | int* permutarepf.cpp:5:20: note: initializing argument 1 of ‘int permutare(int, int*)’ 5 | int permutare (int n, int a[]) | ~~~~^ permutarepf.cpp:21:39: error: invalid conversion from ‘int’ to ‘int*’ [-fpermissive] 21 | cout << permutare(a , n) << endl; | ^ | | | int permutarepf.cpp:5:27: note: initializing argument 2 of ‘int permutare(int, int*)’ 5 | int permutare (int n, int a[]) | ~~~~^~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema PermutarePF face parte din a doua categorie. Pentru aceste probleme se folosește un program suport, furnizat de propunătorul problemei. 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ă.