Se da un șir de numere sa se afișeze cele mai mici 5 numere.
Hint: doi vectori.
Răspunsuri la întrebare
Te rog pe viitor sa fii mai explicit... Avand in vedere ca o poti face doar cu un singur vector, enuntul nu este foarte clar.
Problema:
#include <iostream>
using namespace std;
int main()
{
//initializare
int n,i,j,v[100],aux,b[100],contor=0;
//Citire;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
//rezolvare
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if(v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
//copiere
for(i=1;i<=5;i++)
{
contor++;
b[contor]=v[i];
}
//afisare
for(i=1;i<=contor;i++)
cout<<b[i]<<" ";
//Doresc sa mentionez ca problema asta se poate face in multe feluri , am ales cel mai usor fel din simplu fapt ca este mai usor de inteles.
!Daca doresti sa o faci fara nici o copiere al altui vector, pur si simplu afisezi.
}
#include <iostream>
using namespace std;
int vf[10000];
int main()
{
int i, n, v[1000], j=0;
cin>>n;
for(i=1; i<=n; i++)
{
cin>>v[i];
vf[v[i]]++;
}
for(i=0; i<10000; i++)
if(vf[i]>0)
{
if(j==5)
break;
j++;
cout<<i<<" ";
}
return 0;
}
asta merge doar pentru numere naturale dar ti-l las in caz de vrei sa vezi un alt mod (sort of) de a rezolva problema