mdejkic

i got this

Jan 24th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.21 KB | None | 0 0
  1. #include<iostream>
  2. #include<iomanip>
  3. #include<cmath>
  4.  
  5. using namespace std;
  6.  
  7. int srednja(int broj) {
  8.     int kopija = broj;
  9.     int brojac = 0;
  10.     int desna, lijeva;
  11.     int temp = broj;
  12.     int aritm;
  13.     do {
  14.         broj /= 10;
  15.         brojac++;
  16.     } while (broj > 0);
  17.  
  18.     if (temp % 2 != 0) {
  19.         kopija = kopija / pow(10, brojac / 2);
  20.         kopija %= 10;
  21.         return kopija;
  22.     }
  23.     else {
  24.         int t = brojac / 2;
  25.         int t2 = (brojac / 2) - 1; //t su tezinske vrijednosti
  26.         lijeva = temp / pow(10, t);
  27.         desna = temp / pow(10, t2);
  28.         lijeva %= 10;
  29.         desna %= 10;
  30.         aritm = (desna + lijeva) / 2.0;
  31.         return aritm+1; //da bi vratilo na vecu decimalu jer po intu uvijek vraca na manju
  32.     }
  33. }
  34.  
  35. void unos(int niz[][4]) {
  36.     for (int i = 0; i < 4; i++) {
  37.         for (int j = 0; j < 4; j++) {
  38.             if (i % 2 == 0) {
  39.                 do {
  40.                     cin >> niz[i][j];
  41.                 } while (niz[i][j] < 100);
  42.             }
  43.             else {
  44.                 niz[i][j] = srednja(niz[i - 1][j]);
  45.             }
  46.         }
  47.     }
  48.  
  49. }
  50.  
  51. void ispis(int niz[][4]) {
  52.     for (int i = 0; i < 4; i++) {
  53.         for (int j = 0; j < 4; j++) {
  54.             cout << niz[i][j] << setw(4);
  55.         }
  56.         cout << endl;
  57.     }
  58. }
  59. void main() {
  60.     int niz[4][4];
  61.     unos(niz);
  62.     ispis(niz);
  63.  
  64.     system("pause>0");
  65. }
  66.  
  67.  
  68.  
  69.  
  70.  
  71. /* SORTIRANJE PO SREDNJOJ CIFRI */
  72. void unos(int[], int);
  73. void sort(int[], int);
  74. int SrednjaCif(int);
  75. void ispis(int[], int);
  76. void main() {
  77.     int vel;
  78.     int niz[10];
  79.     do {
  80.         cout << "Unesite velicinu niza:" << endl;
  81.         cin >> vel;
  82.     } while (vel > 10);
  83.     unos(niz, vel);
  84.     ispis(niz, vel);
  85.     sort(niz, vel);
  86.     cout << endl;
  87.     ispis(niz, vel);
  88.     system("pause>0");
  89. }
  90.  
  91. void unos(int niz[], int vel) {
  92.     for (int i = 0; i < vel; i++) {
  93.         do {
  94.             cin >> niz[i];
  95.         } while (niz[i] < 100 || niz[i]>1000);
  96.     }
  97. }
  98.  
  99. void sort(int niz[], int vel) {
  100.     for (int i = 0; i < vel; i++) {
  101.         for (int j = i + 1; j < vel; j++) {
  102.             if (SrednjaCif(niz[i]) > SrednjaCif(niz[j])) {
  103.                 int temp = niz[i];
  104.                 niz[i] = niz[j];
  105.                 niz[j] = temp;
  106.                    
  107.             }
  108.         }
  109.     }
  110. }
  111.  
  112. int SrednjaCif(int broj) {
  113.     int kopija = broj;
  114.     int brojac = 0;
  115.     do {
  116.         broj /= 10;
  117.         brojac++;
  118.     } while (broj > 0);
  119.  
  120.     kopija = kopija / pow(10, brojac/2);
  121.     kopija %= 10;
  122.     return kopija;
  123.    
  124. }
  125.  
  126. void ispis(int niz[], int vel) {
  127.     for (int i = 0; i < vel; i++)
  128.         cout << niz[i] << " ";
  129. }
Advertisement
Add Comment
Please, Sign In to add comment