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 egale cu valoarea parametrului a.
Exemplu: pentru valorile n=5, v=(1,21,9,21,403), a=21 ale parametrilor, în urma
apelului, subprogramului sub va returna valoarea 2.
a) Scrieţi definiţia completă a subprogramului sub. (4p.)
b) Scrieţi 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 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
3
a) Definitia completa a subprogramului
#include <vector>
#include <algorithm>
int sub(vector <int> v, int n, int a)
{
return count(v.begin(),v.end(),a);
}
b)
Programul
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int sub(vector <int> v, int n, int a)
{
return count(v.begin(),v.end(),a);
}
int main()
{
int n;
cin >> n;
vector <int> v(n);
for (int i=0; i<v.size(); i++)
cin >> v[i];
for (int i=0; i<v.size(); i++)
if (sub(v,n,v[i])!=1)
{
cout << "NU";
exit(0);
}
cout << "DA";
return 0;
}
#include <vector>
#include <algorithm>
int sub(vector <int> v, int n, int a)
{
return count(v.begin(),v.end(),a);
}
b)
Programul
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int sub(vector <int> v, int n, int a)
{
return count(v.begin(),v.end(),a);
}
int main()
{
int n;
cin >> n;
vector <int> v(n);
for (int i=0; i<v.size(); i++)
cin >> v[i];
for (int i=0; i<v.size(); i++)
if (sub(v,n,v[i])!=1)
{
cout << "NU";
exit(0);
}
cout << "DA";
return 0;
}
Alte întrebări interesante
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă