Utilizând metoda desparte şi stăpânește (c++)
A) Să se determine produsul a n numere întregi;
B) Să se determine maximul (minimul) a n numere întregi;
C) Să se determine cel mai mare divizor comun a n valori dintr-un vector;
D) Să se caute o valoare într-un vector. Dacă se găsește se va afișa poziţia pe
care s-a găsit, altfel se va afişa mesajul Nu exista asa valoare;
E) Să se caute o valoare într-un vector ordonat crescător;
F) Să se numere câte valori sunt egale cu x dintr-un şir de numere întregi
citite.
Răspunsuri la întrebare
Răspuns:
Pentru a)
int produs = 1, n, i, s[50];
//Se citesc n elemente de la tastatura
cout << "Cate elemente se afla in vector:"; cin >> n;
for (i = 0; i < n; i++)
{
cout << "Introduceti elementul cu numarul " << i+1 <<": ";
cin >> s[i];
}
for (i = 0; i < n; i++)
{
produs = produs * s[i];
}
cout <<"Produsul numerelor este"<< produs;
b)
int n, i, j, s[50], minim, maxim, aux = 0;
cout << "Cate elemente se afla in vector:"; cin >> n;
for (i = 0; i < n; i++)
{
cout << "Introduceti elementul cu numarul " << i+1 <<": ";
cin >> s[i];
}
for (i = 0; i < n; i++)
for (j = i; j < n; j++)
if(s[i]>s[j])
{
aux = s[i];
s[i] = s[j];
s[j] = aux;
}
minim = s[0];
maxim = s[n-1];
cout <<"Numarul minim este: "<< minim << " "<<"Numarul maxim este: "<< maxim;
d)
int n, i, s[50], x, ok=0;
cout << "Cate elemente se afla in vector:"; cin >> n;
for (i = 0; i < n; i++)
{
cout << "Introduceti elementul cu numarul " << i+1 <<": ";
cin >> s[i];
}
cout << "Numarul cautat este:"; cin >> x;
for (i = 0; i < n; i++)
{
if (s[i] == x && ok == 0)
{
cout << "Numarul a fost gasit pe pozitia " << i + 1 << " din sir.";
ok = 1;
}
}
if (ok == 0)
cout << "Nu exista aceasta valoare!";
Explicație: