Subprogramul sub, cu trei parametri, primeşte prin intermediul parametrilor:
– v un tablou unidimensional cu cel mult 100 de componente ce memorează numere
întregi de cel mult 4 cifre fiecare;
– n un număr natural nenul mai mic sau egal cu 100 ce reprezintă numărul efectiv de
componente ale tabloului primit prin intermediul parametrului v;
– a un număr întreg cu cel mult 4 cifre.
Subprogramul sub returnează numărul componentelor tabloului primit prin intermediul
parametrului v ale căror valori sunt strict mai mici decât valoarea parametrului a.
Exemplu: pentru valorile n=5, v=(1,21,9,21,403), a=20 ale parametrilor, în urma
apelului, subprogramului sub va returna valoarea 2.
a) Scrieţi definiţia completă a subprogramului sub. (4p.)
b) Să se scrie un program C/C++ care să citească de la tastatură un număr natural nenul n
(n≤100) şi n numere întregi, fiecare având cel mult 4 cifre, şi care, folosind apeluri utile ale
subprogramului sub, să afişeze pe ecran mesajul DA dacă oricare două dintre cele n
numere întregi citite sunt distincte două câte două, sau mesajul NU în caz contrar.
Exemplu: pentru n=6 şi cele n numere citite de la tastatură: 47 183 69 8 134 -56
se va afişa pe ecran mesajul DA
Răspunsuri la întrebare
Răspuns de
9
subprogram(functia) :
int sub (int v [100],int n , int a)
{
int ret =0;
for (int i = 0 ; i return ret;
}
program :
int main ()
{
int n , a, v [100], max = -10000, min = 10000;
cin >> n;
for (int i = 0; i {
cin>>v [i];
if (v [i] >max )
max = v [i];
else if (v [i] < min)
min = v [i];
}
int prec = sub (v,n,max+1);
bool da = 1;
for ( int i= max; i > min- 1; i--)
{
if ( sub(v,n,i) < (prec - 1) )
{
da = 0;
i = min - 1;
}
else
prec = sub (v,n,i);
}
if ( da == 1)
cout <<"DA:;
else
cout <<"NU";
return 0;
}
sper sa te ajute si sa se intelwaga programul , daca nu intelegi ceva , intreaba-ma.
int sub (int v [100],int n , int a)
{
int ret =0;
for (int i = 0 ; i return ret;
}
program :
int main ()
{
int n , a, v [100], max = -10000, min = 10000;
cin >> n;
for (int i = 0; i {
cin>>v [i];
if (v [i] >max )
max = v [i];
else if (v [i] < min)
min = v [i];
}
int prec = sub (v,n,max+1);
bool da = 1;
for ( int i= max; i > min- 1; i--)
{
if ( sub(v,n,i) < (prec - 1) )
{
da = 0;
i = min - 1;
}
else
prec = sub (v,n,i);
}
if ( da == 1)
cout <<"DA:;
else
cout <<"NU";
return 0;
}
sper sa te ajute si sa se intelwaga programul , daca nu intelegi ceva , intreaba-ma.
Gillga:
la for de la functie : for (int i=0 ; i
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă