Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int brojParnihCifri(int broj) {
- int brojac = 0;
- while (broj > 0) {
- if (broj % 2 == 0)
- brojac++;
- brojac /= 10;
- }
- return brojac;
- }
- bool jeLiBrojProst(int broj) {
- for (int i = 2; i < broj; i++)
- {
- if (broj%i == 0)
- return false;
- }
- return true;
- }
- bool jeLiPrvaCifraParna(int broj) {
- while (broj>10)
- {
- broj /= 10;
- }
- return broj % 2 == 0;
- }
- void ocistiNiz(int niz[], int velicina) {
- for (int i = 0; i < velicina; i++)
- {
- if (!jeLiBrojProst(niz[i]) || brojParnihCifri(niz[i]) > 1)
- niz[i] = 0;
- }
- }
- void sortiraj(int niz[], int brojac) {
- for (int i = 1; i < brojac; i++)
- {
- int j = i;
- while (j > 0 && niz[j] < niz[j - 1]) {
- int temp = niz[j];
- niz[j] = niz[j - 1];
- niz[j - 1] = temp;
- j--;
- }
- }
- }
- bool seNalaziUnizu(int niz[], int velicina, int broj) {
- for (int i = 0; i < velicina; i++)
- {
- if (niz[i] == broj)
- return true;
- }
- return false;
- }
- void staviUNiz(int niz[],int broj, int& brojac) {
- while (broj>0)
- {
- int znamekna = broj % 10;
- if (!seNalaziUnizu(niz, brojac, broj))
- {
- niz[brojac++] = znamekna;
- }
- broj /= 10;
- }
- }
- void ispisUnije(int broj1, int broj2) {
- int unija[10];
- int brojac = 0;
- // 2305 i 5032
- staviUNiz(unija, broj1, brojac);
- staviUNiz(unija, broj2, brojac);
- sortiraj(unija, brojac);
- }
- int main() {
- int matrica[2][3];
- /*
- Zadatak 3:
- Napisati program koji učitava dva pozitivna cijela broja i ispisuje uniju cifara učitanih brojeva.
- Cifre treba ispisati sortirane po veličini od najmanje ka najvećoj. Svaku cifru ispisati samo jedanput.
- Pomoć: Za pohranu zajedničkih cifara koristiti niz od 10 cijelih brojeva.
- */
- int broj1 = 0, broj2 = 0;
- cout << "Upisite broj 1 : ";
- cin >> broj1;
- cout << "Upisite broj 2 : ";
- cin >> broj2;
- ispisUnije(broj1, broj2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement