Ajutor!
Realizati un program c++.
Se dau două şiruri cu elemente numere naturale. Determinaţi câte dintre elementele primului şir sunt mai mari decât toate elementele celui de-al doilea şir.Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele primului şir. Apoi citeşte numărul m şi m numere naturale, separate prin spaţii, reprezentând elementele celui de-al doilea şir.Programul afișează pe ecran numărul C, reprezentând numărul de elemente din primul şir care sunt mai mari decât toate elementele celui de-al doilea şir.
Restricţii şi precizări
1 ≤ n,m ≤ 100
elementele celor două şiruri sunt mai mici decât 10000
Răspunsuri la întrebare
Răspuns de
6
Salut. O idee ar fi sa sortezi descrescator ultimul sir, astfel sir2[1] va fi elementul maxim din acel sir, iar tot ce trebuie sa faci este sa comperi fiecare element din sir1 cu sir2[1].
#include <iostream>
using namespace std;
int main()
{
int n, sir1[1000], m, sir2[1000], i, j, aux;
cout << "n="; cin >> n;
for (i=1; i<=n; i++)
cin >> sir1[i];
cout << "m="; cin >> m;
for (i=1; i<=m; i++)
cin >> sir2[i];
// sortare descrescatoare sir2
for (i=1; i<m; i++)
for (j=i+1; j<=m; j++)
if (sir2[i] < sir2[j]){
aux = sir2[i];
sir2[i] = sir2[j];
sir2[j] = aux;
}
//comparare
for (i=1; i<=n; i++)
if (sir1[i] > sir2[1])
cout << sir1[i] << " ";
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n, sir1[1000], m, sir2[1000], i, j, aux;
cout << "n="; cin >> n;
for (i=1; i<=n; i++)
cin >> sir1[i];
cout << "m="; cin >> m;
for (i=1; i<=m; i++)
cin >> sir2[i];
// sortare descrescatoare sir2
for (i=1; i<m; i++)
for (j=i+1; j<=m; j++)
if (sir2[i] < sir2[j]){
aux = sir2[i];
sir2[i] = sir2[j];
sir2[j] = aux;
}
//comparare
for (i=1; i<=n; i++)
if (sir1[i] > sir2[1])
cout << sir1[i] << " ";
return 0;
}
Utilizator anonim:
multumesc
Alte întrebări interesante
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Limba română,
9 ani în urmă
Fizică,
9 ani în urmă
Geografie,
9 ani în urmă
Matematică,
9 ani în urmă