24.2.3.24010840. Napisati program koji traži da se sa tastature unese n cijelih brojeva (pri čemu se n također prethodno zadaje sa tastature), i koji nakon toga ispisuje unesene brojeve izostavljajući duplikate (tj. brojeve koji se ponavljaju). Program treba takođe da ispiše i broj elemenata koji se ponavljaju. Na primjer, ukoliko se sa tastature unese niz od 15 brojeva: 7, 10, 4, 2, 4, 4, 5, 6, 7, 3, 9, 1, 8, 6 i 7 program treba da ispiše brojeve 7, 10, 4, 2, 5, 6, 3, 9, 1 i 8, kao i da ispiše da se 3 broja ponavljaju (to su brojevi 7, 4 i 6).
Opis rješenja:
Listing programa:
//izbacuje brojeve koji se ponavljaju u nizu i racuna koilko ih ima
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
unsigned int n;
int brojac(0);
cin>>n;
const unsigned int c(n);
unsigned int a[c],b[c];
for(int i=0;i<c;i++){
cin>>a[i];
b[i]=0;
}
for(int i=0;i<c;i++){
bool t(true);
for(int j=0;j<i;j++)
if(a[j]==a[i]){
t=false;b[i]=a[i];break;
}
if(t)cout<<a[i]<<" ";
else{
bool f(true);
for(int k=0;k<i;k++)
if(b[k]==b[i]){f=false;break;}
if(f)brojac++;
}
}
if(brojac!=0)cout<<endl<<brojac;
else cout<<"\n\nNema brojeva koji se ponavljaju u unijetom nizu.";
getch();
return 0;
}
Ispis na ekranu:
Riješeni zadaci 2 Index
|
|