Advertisement
Guest User

Untitled

a guest
Jan 21st, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. /*
  2. Napisati program koji će uzastopno učitatvati cijele brojeve m i n (1?m?50, 1?n?500) i pronalaziti srednju cifru njihovog
  3. proizvoda/umnoška (srednju cifru ako proizvod/umnožak ima neparan broj cifara, odnosno aritmeticku sredinu (tip float) dvije srednje
  4. 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.
  5. Prva pronađena srednja cifra se svakako ispisuje. Program se forsirano prekida ako korisnik unese n=0.
  6. Program se prirodno završava ako je pronađena srednja cifra 9.
  7. */
  8. #include<iostream>
  9. int srednjacifra(int);
  10. using namespace std;
  11. int main()
  12. {
  13. int m, n;
  14. do {
  15. cout << "Unesite m" << endl;
  16. cin >> m;
  17. cout << "Unesite n" << endl;
  18. cin >> n;
  19.  
  20. if (n == 0)
  21. {
  22. cout << "Forsirani prekid" << endl;
  23. break;
  24. }
  25.  
  26. int broj = m*n;
  27.  
  28. int najveca = 0;
  29. if (srednjacifra(broj) == 9)
  30. {
  31. cout << "Program se prirodno zavrsava" << endl;
  32. system("pause>0");
  33. return 0;
  34. }
  35. if (srednjacifra(broj) > najveca)
  36. {
  37. najveca = srednjacifra(broj);
  38. }
  39. cout << "Srednja cifra je:" << srednjacifra(broj) << endl;
  40. } while( (m > 1 || m<50)&&(n > 1 || n<500));
  41.  
  42. system("pause>0");
  43. return 0;
  44. }
  45. int srednjacifra(int broj)
  46. {
  47. int brcif = 0;
  48. int kopija = broj;
  49. while (kopija)
  50. {
  51. brcif++;
  52. kopija /= 10;
  53. }
  54. if (brcif % 2 != 0)
  55. {
  56. int srednja = int(broj / pow(10, brcif / 2)) % 10;
  57. return srednja;
  58. }
  59. else
  60. {
  61. int srednja = int(broj / pow(10, brcif / 2)) % 10;
  62. int srednja2 = int(broj / pow(10, (brcif / 2) - 1)) % 10;
  63. float ar = (srednja + srednja2) / 2.0;
  64. return ar;
  65. }
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement