Cerința
Scrieți funcția Kth care primește ca parametri:
a– un vector de numere întregin– un număr natural reprezentând numărul elementelor vectoruluix– un număr întregk– un număr natural
Funcția va returna poziția din vector unde x apare pentru a k-a oară, sau -1 dacă x nu apare de cel puțin k ori
Restricții și precizări
1 ≤ n ≤ 1000- elementele vectorului sunt indexate de la
0lan-1. -1000 ≤ a[i] ≤ 1000, pentru oricei=0..n-1-1000 ≤ x ≤ 10000 ≤ k ≤ 1000
Exemple:
Dacă a = (4,2,5,2,6,2), atunci Kth(a, 6, 2, 2) va returna valoarea 3.
Cerința
Scrieți funcția Kth care primește ca parametri:
a– un vector de numere întregin– un număr natural reprezentând numărul elementelor vectoruluix– un număr întregk– un număr natural
Funcția va returna poziția din vector unde x apare pentru a k-a oară, sau -1 dacă x nu apare de cel puțin k ori
Restricții și precizări
1 ≤ n ≤ 1000- elementele vectorului sunt indexate de la
0lan-1. -1000 ≤ a[i] ≤ 1000, pentru oricei=0..n-1-1000 ≤ x ≤ 10000 ≤ k ≤ 1000
Exemple:
Dacă a = (4,2,5,2,6,2), atunci Kth(a, 6, 2, 2) va returna valoarea 3.
Dacă a = (4,2,5,2,6,2), atunci Kth(a, 6, 5, 3) va returna valoarea -1.
Dacă a = (4,2,5,2,6,2), atunci Kth(a, 6, 5, 0) va returna valoarea -1.
Important
Soluția propusă va conține definiția funcției cerute. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.
int Kth(int a[], int n, int x, int k){
if(k == 0)
return -1;
int cnt = 0;
for(int i = 0; i < n; ++i)
if(a[i] == x)
cnt++;
if(cnt >= k){
int poz = 0;
for(int i = 0; i < n; ++i)
if(a[i] == x){
k--;
if(k == 0)
poz = i;
}
return poz;
}
return -1;
}