Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Napisati program koji će korisniku omogućiti unos pozitivnih neparnih cijelih brojeva za koje će se ispitivati
- da li im je prva cifra parna (npr. 4993 ili 4999). Ukoliko je zadovoljen uslov broj se smješta u niz od 10 elemenata.
- Unos se ponavlja dok se ne popuni niz od 10 elemenata koji zadovoljavaju uslov unosa. Unos se prekida ukoliko korisnik unese vrijednost 0
- te se i izvršenje program završava uz poruku „Forsirani prekid“. Zatim se za sve elementi niza ispituje da li je broj prost
- i da li ima samo jednu parnu cifru. Ako broj nije prost i ako ima više od jedne parne cifre,
- broj se izbacuje iz niza tako što se njegova vrijednost mijenja sa 0.
- Na kraju niz sortirati od najvećeg ka najmanjem broju te ga ispisati.
- Koristiti odvojene funkcije za provjeru da li je broj prost, za sortiranje i ispis niza.
- */
- #include "stdafx.h"
- #include <iostream>
- #include <math.h>
- using namespace std;
- void ispis(int n[], int v) {
- for (int i = 0; i < v; i++) {
- cout << n[i] << " ";
- }
- }
- void sortiraj(int n[], int v) {
- for (int i = 0; i < v; i++) {
- int poz = i;
- for (int j = i; j < v; j++) {
- if (n[poz] < n[j]) poz = j;
- }
- int temp = n[poz];
- n[poz] = n[i];
- n[i] = temp;
- }
- }
- int prc(int broj) {
- int bpc = 0;
- int cifra;
- while (broj != 0) {
- cifra = broj % 10;
- if (cifra % 2 == 0) bpc++;
- broj /= 10;
- }
- return bpc;
- }
- bool prost(int broj) {
- for (int i = 2; i <= broj / 2; i++)
- if (broj%i == 0)
- return false;
- return true;
- }
- int main()
- {
- int broj, clanovi = 0, brojac, temp, kopija, n;
- int niz[10];
- do {
- cin >> broj;
- if (broj != 0) {
- if (clanovi < 10)
- if (broj % 2 != 0) {
- temp = broj, kopija = broj;
- brojac = 0;
- while (temp != 0) {
- temp /= 10;
- brojac++;
- }
- n = kopija / pow(10, brojac - 1);
- if (n % 2 == 0) {
- niz[clanovi++] = broj;
- }
- }
- }
- else cout << "Forsirani prekid" << endl;
- } while (broj != 0 && clanovi<10);
- for (int i = 0; i < clanovi; i++)
- if (!prost(niz[i]) && prc(niz[i]) > 1)
- niz[i] = 0;
- sortiraj(niz, clanovi);
- ispis(niz, clanovi);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement