Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<iomanip>
- #include<cmath>
- using namespace std;
- int srednja(int broj) {
- int kopija = broj;
- int brojac = 0;
- int desna, lijeva;
- int temp = broj;
- int aritm;
- do {
- broj /= 10;
- brojac++;
- } while (broj > 0);
- if (temp % 2 != 0) {
- kopija = kopija / pow(10, brojac / 2);
- kopija %= 10;
- return kopija;
- }
- else {
- int t = brojac / 2;
- int t2 = (brojac / 2) - 1; //t su tezinske vrijednosti
- lijeva = temp / pow(10, t);
- desna = temp / pow(10, t2);
- lijeva %= 10;
- desna %= 10;
- aritm = (desna + lijeva) / 2.0;
- return aritm+1; //da bi vratilo na vecu decimalu jer po intu uvijek vraca na manju
- }
- }
- void unos(int niz[][4]) {
- for (int i = 0; i < 4; i++) {
- for (int j = 0; j < 4; j++) {
- if (i % 2 == 0) {
- do {
- cin >> niz[i][j];
- } while (niz[i][j] < 100);
- }
- else {
- niz[i][j] = srednja(niz[i - 1][j]);
- }
- }
- }
- }
- void ispis(int niz[][4]) {
- for (int i = 0; i < 4; i++) {
- for (int j = 0; j < 4; j++) {
- cout << niz[i][j] << setw(4);
- }
- cout << endl;
- }
- }
- void main() {
- int niz[4][4];
- unos(niz);
- ispis(niz);
- system("pause>0");
- }
- /* SORTIRANJE PO SREDNJOJ CIFRI */
- void unos(int[], int);
- void sort(int[], int);
- int SrednjaCif(int);
- void ispis(int[], int);
- void main() {
- int vel;
- int niz[10];
- do {
- cout << "Unesite velicinu niza:" << endl;
- cin >> vel;
- } while (vel > 10);
- unos(niz, vel);
- ispis(niz, vel);
- sort(niz, vel);
- cout << endl;
- ispis(niz, vel);
- system("pause>0");
- }
- void unos(int niz[], int vel) {
- for (int i = 0; i < vel; i++) {
- do {
- cin >> niz[i];
- } while (niz[i] < 100 || niz[i]>1000);
- }
- }
- void sort(int niz[], int vel) {
- for (int i = 0; i < vel; i++) {
- for (int j = i + 1; j < vel; j++) {
- if (SrednjaCif(niz[i]) > SrednjaCif(niz[j])) {
- int temp = niz[i];
- niz[i] = niz[j];
- niz[j] = temp;
- }
- }
- }
- }
- int SrednjaCif(int broj) {
- int kopija = broj;
- int brojac = 0;
- do {
- broj /= 10;
- brojac++;
- } while (broj > 0);
- kopija = kopija / pow(10, brojac/2);
- kopija %= 10;
- return kopija;
- }
- void ispis(int niz[], int vel) {
- for (int i = 0; i < vel; i++)
- cout << niz[i] << " ";
- }
Advertisement
Add Comment
Please, Sign In to add comment