Informatică, întrebare adresată de RSTH, 8 ani în urmă

#1863 Pbinfo
Cerinţa
Scrieţi definiția completă a subprogramului recursiv numarare, care primeşte prin parametrul v un tablou unidimensional cu cel mult 100 de elemente întregi, iar prin parametrul n numărul efectiv de elemente din v.

Subprogramul returnează numărul de perechi de elemente vecine din tabloul v care sunt egale.

Restricţii şi precizări
0 < n ≤ 100
numele subprogramului cerut este numarare
parametrii sunt, în această ordine: v, n
indicii elementelor tabloului v sunt 0, 1 ,… , n-1.
se recomandă realizarea unui subprogram recursiv

Exemplu
Dacă n=6, v=(5, 6, 6, 3, 5, 5), rezultatul va fi 2 – perechile sunt 6 6 și 5 5

Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. 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ăspunsuri la întrebare

Răspuns de rossetta
15
int numarare (int v[], int n) {
if(n == 2) {
if(v[n - 1] == v[n - 2])
return 1;
else
return 0;
}
else {
if(v[n - 1] == v[n - 2])
return 1 + numarare(v, n - 1);
else
return numarare (v, n - 1);
}
}
Răspuns de ated
4
int numarare(int v[], int n)
{
    if (n <= 1)
        return 0;
    else
        if (v[n-1] == v[n-2])
            return numarare(v, n-1)+1;
        else
            return numarare(v, n-1);
}
Alte întrebări interesante