27. Se consideră subalgoritmul f2(a,b) cu parametrii a și b numere naturale, și subalgoritmul f(arr,
i, n, p) având ca parametri șirul arr cu n numere întregi (arr[1], arr[2], …, arr[n]), și numerele întregi
i și p.
Subalgoritm f2(a, b):
Dacă a > b atunci
returnează a
altfel
returnează b
SfDacă
SfSubalgoritm
Subalgoritm f(arr, i, n, p):
Dacă i = n atunci
returnează 0
SfDacă
n1 ← f(arr, i + 1, n, p)
n2 ← 0
Dacă p + 1 ≠ i atunci
n2 ← f(arr, i + 1, n, i) + arr[i]
SfDacă
returnează f2(n1, n2)
SfSubalgoritm
Precizați care este rezultatul apelului f(arr, 1, 9, -10), dacă șirul arr conține valorile (10, 1, 3, 4,
8, 12, 1, 11, 6).
Stie cineva sa rezolve problema asta?
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
#include <iostream>
using namespace std;
int f(int[], int, int, int);
int f2(int, int);
int main() {
int arr[] = { 10,1,3,4,8,12,1,11,6 };
cout << f(arr, 1, 9, -10);
return 0;
}
int f(int arr[], int i, int n, int p) {
if (i == n) return 0;
int n1 = f(arr, i + 1, n, p);
int n2 = 0;
if (p + 1 != i) n2 = f(arr, i + 1, n, i) + arr[i];
return f2(n1, n2);
}
int f2(int a, int b) {
if (a > b) return a;
return b;
}
Returnează 28
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă