Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- typedef int ARRAY_100[100];
- int uporedi(int a, int b);
- void zadatak1(void);
- void srv(int n, int zadatiBroj, float* srv);
- void zadatak2(void);
- void postoji(int X[], int n, int broj, int *pozicija);
- void izbaci(int X[], int *n, int position);
- void prikazNiy(int X[], int n);
- void zadatak3(void) {
- int X[] = { 1,3,4,5,3,3,2,1,2,4,6 };
- int n = 11;
- int pozicija;
- printf("\nNiz sa duplikatima je:");
- prikazNiy(X, n);
- for (int i = 0; i < n; i++)
- {
- postoji(X, n, X[i], &pozicija);
- if (pozicija != i) {
- izbaci(X, &n, pozicija);
- i--;
- }
- }
- printf("\nNiz bez duplikata je:");
- prikazNiy(X, n);
- }
- int nadjiNajveciParniElementNiza(ARRAY_100 x, int n);
- void sortirajNiz(ARRAY_100 x, int n);
- void ubaciNoviElementUSortiranomRedosledu(ARRAY_100 x, int *n, int noviEl);
- void prikaziNiz(ARRAY_100 x, int n);
- void zadatak4(void);
- void glavniMeni(void);
- int main(void) {
- glavniMeni();
- return 0;
- }
- int uporedi(int a, int b)
- {
- if (a == b) {
- return 0;
- }
- else if (a > b) {
- return 1;
- }
- else {
- return -1;
- }
- }
- void zadatak1(void)
- {
- int n = 3;
- int i = 0;
- int x, y, status;
- while (i < n) {
- printf("Unesite dva broja\n");
- scanf("%d %d", &x, &y);
- status = uporedi(x, y);
- if (status == 1) {
- printf("Broj (%d) je veci od broja (%d)\n", x, y);
- }
- else if (status == 0) {
- printf("Broj (%d) je jednak broju (%d)\n", x, y);
- }
- else{
- printf("Broj (%d) je manji od broja (%d)\n", x, y);
- }
- i++;
- }
- }
- void srv(int n, int zadatiBroj, float * srv)
- {
- *srv = 0.0;
- int x, i = 0, suma = 0, brojac = 0;
- while (i < n) {
- scanf("%d", &x);
- if (x % zadatiBroj == 0) {
- suma += x;
- brojac++;
- }
- i++;
- }
- if (brojac > 0) {
- *srv = (float)suma / brojac;
- }
- }
- void zadatak2(void)
- {
- int n, zadatiBroj;
- float srve;
- printf("Unesite n: ");
- scanf("%d", &n);
- printf("Unesite zadatiBroj: ");
- scanf("%d", &zadatiBroj);
- srv(n, zadatiBroj, &srve);
- printf("Ukupan broj unetih brojeva je (%d), a srednja vrednost unetih brojeva deljivih sa (%d) je: (%.2f)", n, zadatiBroj, srve);
- }
- void postoji(int X[], int n, int broj, int * pozicija)
- {
- for (int i = 0; i < n; i++)
- {
- if (X[i] == broj) {
- *pozicija = i;
- }
- }
- }
- void izbaci(int X[], int * n, int position)
- {
- for (int i = position; i < *n; i++)
- {
- X[i] = X[i + 1];
- }
- (*n)--;
- }
- void prikazNiy(int X[], int n)
- {
- for (int i = 0; i < n; i++)
- {
- printf("X[%d] = %d\t", i, X[i]);
- }
- printf("\n");
- }
- int nadjiNajveciParniElementNiza(ARRAY_100 x, int n)
- {
- int max;
- int temp = 0;
- for (int i = 0; i < n; i++)
- {
- if (x[i] % 2 == 0 && temp == 0) {
- max = x[i];
- }
- else if (x[i] % 2 == 0 && temp && max < x[i]) {
- max = x[i];
- }
- }
- return max;
- }
- void sortirajNiz(ARRAY_100 x, int n)
- {
- int i, j;
- for (i = 0; i < n - 1; i++) {
- // Last i elements are already in place
- for (j = 0; j < n - i - 1; j++) {
- if (x[j] > x[j + 1]) {
- x[j] = x[j] ^ x[j + 1];
- x[j + 1] = x[j] ^ x[j + 1];
- x[j] = x[j] ^ x[j + 1];
- }
- }
- }
- }
- void ubaciNoviElementUSortiranomRedosledu(ARRAY_100 x, int * n, int noviEl)
- {
- int pom;
- for (int i = 0; i <= (*n); i++)
- {
- if (x[i] >= noviEl || i==*n) {
- pom = x[i];
- x[i] = noviEl;
- noviEl = pom;
- }
- }
- (*n)++;
- }
- void prikaziNiz(ARRAY_100 x, int n)
- {
- for (int i = 0; i < n; i++)
- {
- printf("X[%d] = %d\t", i, x[i]);
- }
- printf("\n");
- }
- void zadatak4(void)
- {
- ARRAY_100 x = { 1,5,0,5,6 };
- int n = 5, status = 1, y;
- while (status != 0) {
- printf("\nIzaberite koju funkciju zelite da pozovete: \n");
- printf("1. nadjiNajveciParniElement: \n");
- printf("2. sortirajNiz: \n");
- printf("3. ubaciNoviElementUSortiranomRedosledu: \n");
- printf("4. prikaziNiz: \n");
- printf("0. Kraj! ");
- scanf("%d", &status);
- switch (status) {
- case 1:
- printf("Najveci parni element je (%d)\n", nadjiNajveciParniElementNiza(x, n));
- break;
- case 2:
- sortirajNiz(x, n);
- break;
- case 3:
- printf("Unesite broj koji zelite da ubacite u niz: ");
- scanf("%d", &y);
- sortirajNiz(x, n);
- ubaciNoviElementUSortiranomRedosledu(x, &n, y);
- break;
- case 4:
- prikaziNiz(x, n);
- break;
- case 0:
- break;
- default:
- printf("Ne postoji trazena funkcija!\n");
- }
- }
- }
- void glavniMeni(void)
- {
- int x = 3;
- printf("1. Pokreni zadatak 1\n");
- printf("2. Pokreni zadatak 2\n");
- printf("3. Pokreni zadatak 3\n");
- printf("4. Pokreni zadatak 4\n");
- printf("6. Kraj rada:\n");
- while (x!=6) {
- printf("\nVas unos: ");
- scanf("%d", &x);
- switch (x) {
- case 1:
- zadatak1();
- break;
- case 2:
- zadatak2();
- break;
- case 3:
- zadatak3();
- break;
- case 4:
- zadatak4();
- break;
- case 6:
- printf("Kraj programa\n");
- break;
- default:
- printf("Los unos\n");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement