Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Napisati program koji će uzastopno učitatvati cijele brojeve m i n (1?m?50, 1?n?500) i pronalaziti srednju cifru njihovog
- proizvoda/umnoška (srednju cifru ako proizvod/umnožak ima neparan broj cifara, odnosno aritmeticku sredinu (tip float) dvije srednje
- cifre ako proizvod/umnožak ima parni broj cifara). Program treba ispisivati srednju cifru samo ako je veća od prethodno izračunate srednje cifre.
- Prva pronađena srednja cifra se svakako ispisuje. Program se forsirano prekida ako korisnik unese n=0.
- Program se prirodno završava ako je pronađena srednja cifra 9.
- */
- #include<iostream>
- int srednjacifra(int);
- using namespace std;
- int main()
- {
- int m, n;
- do {
- cout << "Unesite m" << endl;
- cin >> m;
- cout << "Unesite n" << endl;
- cin >> n;
- if (n == 0)
- {
- cout << "Forsirani prekid" << endl;
- break;
- }
- int broj = m*n;
- int najveca = 0;
- if (srednjacifra(broj) == 9)
- {
- cout << "Program se prirodno zavrsava" << endl;
- system("pause>0");
- return 0;
- }
- if (srednjacifra(broj) > najveca)
- {
- najveca = srednjacifra(broj);
- }
- cout << "Srednja cifra je:" << srednjacifra(broj) << endl;
- } while( (m > 1 || m<50)&&(n > 1 || n<500));
- system("pause>0");
- return 0;
- }
- int srednjacifra(int broj)
- {
- int brcif = 0;
- int kopija = broj;
- while (kopija)
- {
- brcif++;
- kopija /= 10;
- }
- if (brcif % 2 != 0)
- {
- int srednja = int(broj / pow(10, brcif / 2)) % 10;
- return srednja;
- }
- else
- {
- int srednja = int(broj / pow(10, brcif / 2)) % 10;
- int srednja2 = int(broj / pow(10, (brcif / 2) - 1)) % 10;
- float ar = (srednja + srednja2) / 2.0;
- return ar;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement