👤

Problema kth #3215 de pe pbinfo va rog, am primit doar 90p:
Cerința
Scrieți funcția Kth care primește ca parametri:

a – un vector de numere întregi
n – un număr natural reprezentând numărul elementelor vectorului
x – un număr întreg
k – 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 0 la n-1.
-1000 ≤ a[i] ≤ 1000, pentru orice i=0..n-1
-1000 ≤ x ≤ 1000
0 ≤ 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.


Răspuns :

Răspuns:

int Kth(int a[], int n, int x, int k)

{

   int num = 0;

   if (k==0) return -1;

   for (int i=0; i<n; i++)

   {

       if (a[i]==x) num++;

       if (num==k) return i;

   }

   return -1;

}

Explicație:

probabil ai ratat cand k=0 sa returneze -1