Advertisement
TeamFocus-Matija

Simonida NIZOVI

Apr 23rd, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.52 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6.  
  7. typedef int NIZ[100];
  8.  
  9.  
  10. void unos(NIZ niz, int *brEl){
  11.     int i;
  12.     int element;
  13.    
  14.     printf("Koliko elemenata zelite?");
  15.     scanf("%d", &(*brEl));
  16.  
  17.     for (i = 0; i < *brEl; i++){
  18.         printf("Unesite element koji zelite da unesete\t");
  19.         scanf("%d", &element);
  20.         niz[i] = element;
  21.     }
  22. }
  23.  
  24. void prikaz(NIZ niz,int brEl){
  25.     int i;
  26.     printf("Clanovi Vaseg niza su:\t");
  27.  
  28.     for (i = 0; i < brEl; i++){
  29.         printf("%d\t", niz[i]);
  30.     }
  31.     printf("\n\n");
  32. }
  33.  
  34.  
  35. void unosNeParnihElemenata(NIZ niz, int *brEl){
  36.     int i;
  37.     int element;
  38.  
  39.     printf("Koliko elemenata zelite?\t");
  40.     scanf("%d", &(*brEl));
  41.  
  42.     for (i = 0; i < *brEl; i++){
  43.         printf("Unesite element koji zelite da unesete\t");
  44.         scanf("%d", &element);
  45.  
  46.         if (element % 2 != 0){
  47.             niz[i] = element;
  48.         }
  49.         else{
  50.             i--;
  51.         }
  52.     }
  53. }
  54.  
  55. void prikazParnihPozicija(NIZ niz, int brEl){
  56.     int i;
  57.     printf("Clanovi Vaseg niza su:\t");
  58.  
  59.     for (i = 0; i < brEl; i++){
  60.         if (i % 2 == 1){
  61.             printf("%d\t", niz[i]);
  62.         }
  63.     }
  64.     printf("\n\n");
  65. }
  66.  
  67. int sumaSvihClanova(NIZ niz,int brEl){
  68.     int suma = 0;
  69.     int i;
  70.  
  71.     for ( i = 0; i < brEl; i++)
  72.     {
  73.         suma = suma + niz[i];
  74.     }
  75.  
  76.     return suma;
  77. }
  78. //PROIZVOD DOMACI!!!
  79. //FAKTORIJAL PARNIH CLANOVA!!!
  80.  
  81. double aritmetickaSredina(NIZ niz, int brEl){
  82.     double as;
  83.     int suma;
  84.  
  85.     suma = sumaSvihClanova(niz,brEl);
  86.     as = suma / (double)brEl;
  87.  
  88.     return as;
  89. }
  90.  
  91. void unosNaKraj(NIZ niz,int *brEl){
  92.     int element;
  93.  
  94.     printf("Koji element zelite da unesete na kraj:\t");
  95.     scanf("%d", &element);
  96.  
  97.     niz[*brEl] = element;
  98.     (*brEl)++;
  99. }
  100.  
  101. void unosNaPocetak(NIZ niz, int *brEl){
  102.     int i;
  103.  
  104.     for (i = *brEl; i > 0; i--){
  105.         niz[i] = niz[i - 1];
  106.     }
  107.  
  108.     printf("Koji element zelite da unesete na pocetak:\t");
  109.     scanf("%d",&niz[0]);
  110. }
  111.  
  112. void unosNaZeljenuPoziciju(NIZ niz, int *brEl, int pozicija){
  113.     int i;
  114.  
  115.     if (pozicija > *brEl){
  116.         return;
  117.     }
  118.  
  119.     for (i = *brEl; i > pozicija; i--){
  120.         niz[i] = niz[i-1];
  121.     }
  122.     printf("Koji element zelite da unesete na %d. poziciju:\t",pozicija);
  123.     scanf("%d", &niz[pozicija]);
  124. }
  125.  
  126. void frekvencija(NIZ niz, int brEl){
  127.     int i, j, k;
  128.     int broj;
  129.     int brojac;
  130.     int radjen;
  131.  
  132.     for (i = 0; i < brEl; i++){
  133.         broj = niz[i];
  134.         brojac = 0;
  135.         radjen = 0;
  136.  
  137.         for (k = 0; k < i; k++){
  138.             if (broj == niz[k]){
  139.                 radjen = 1;
  140.             }
  141.         }
  142.  
  143.         if (radjen == 0){
  144.             for (j = 0; j < brEl; j++){
  145.                 if (broj == niz[j]){
  146.                     brojac++;
  147.                 }
  148.             }
  149.             printf("Broj %d se nalazi %dx\n", broj, brojac);
  150.         }
  151.     }
  152.  
  153.  
  154. }
  155.  
  156. void frekvencijaNoviNiz(NIZ niz, int brEl,NIZ novi,int *brEl1){
  157.     int i, j, k;
  158.     int broj;
  159.     int brojac;
  160.     int radjen;
  161.  
  162.     for (i = 0; i < brEl; i++){
  163.         broj = niz[i];
  164.         brojac = 0;
  165.         radjen = 0;
  166.  
  167.         for (k = 0; k < i; k++){
  168.             if (broj == niz[k]){
  169.                 radjen = 1;
  170.             }
  171.         }
  172.  
  173.         if (radjen == 0){
  174.             for (j = 0; j < brEl; j++){
  175.                 if (broj == niz[j]){
  176.                     brojac++;
  177.                 }
  178.             }
  179.             if (brojac>1){
  180.                 novi[*brEl1] = broj;
  181.                 (*brEl1)++;
  182.             }
  183.  
  184.  
  185.         }
  186.     }
  187.  
  188.  
  189. }
  190.  
  191. void daLiJeNizPalindrom(NIZ niz, int brEl){
  192.     int i;
  193.  
  194.     for (i = 0; i < brEl / 2; i++){
  195.         if (niz[i] != niz[brEl - i - 1]){
  196.             printf("NIZ NIJE PALINDROM!!!\n");
  197.             return;
  198.         }
  199.     }
  200.     printf("NIZ JE PALINDROM!!!\n");
  201. }
  202.  
  203. int postoji(NIZ niz, int brEl, int broj){
  204.     int i;
  205.  
  206.     for (i = 0; i < brEl; i++){
  207.         if (niz[i] == broj){
  208.             return 1;
  209.         }
  210.     }
  211.  
  212.     return 0;
  213. }
  214.  
  215. void unijaDvaNiza(NIZ A, NIZ B, NIZ unija, int brEl1, int brEl2, int *brEl3){
  216.     int i, j;
  217.     int p;
  218.  
  219.     for (i = 0; i < brEl1; i++){
  220.         p = postoji(unija, *brEl3, A[i]);
  221.         if (p == 0){
  222.             unija[*brEl3] = A[i];
  223.             (*brEl3)++;
  224.         }
  225.     }
  226.  
  227.     for (j = 0; j < brEl2; j++){
  228.         p = postoji(unija, *brEl3, A[i]);
  229.         if (p == 0){
  230.             unija[*brEl3] = B[j];
  231.             (*brEl3)++;
  232.         }
  233.     }
  234.  
  235. }
  236.  
  237. void presekDvaNiza(NIZ A, NIZ B, NIZ presek, int brEl1, int brEl2, int *brEl3){
  238.     int i;
  239.  
  240.     for (i = 0; i < brEl1; i++){
  241.         if (postoji(B, brEl2, A[i]) == 1){
  242.             if (postoji(presek, *brEl3, A[i]) == 0){
  243.                 presek[*brEl3] = A[i];
  244.                 (*brEl3)++;
  245.             }
  246.         }
  247.     }
  248. }
  249.  
  250. void sortiranjeNiza(NIZ niz, int brEl){
  251.     int i, j;
  252.     int pom;
  253.     int dosloJeDoPromene;
  254.  
  255.     do{
  256.         dosloJeDoPromene = 0;
  257.  
  258.         for (i = 0; i < brEl; i++){
  259.             if (niz[i]>niz[i + 1]){
  260.                 pom = niz[i];
  261.                 niz[i] = niz[i + 1];
  262.                 niz[i + 1] = pom;
  263.                 dosloJeDoPromene = 1;
  264.             }
  265.         }
  266.     } while (dosloJeDoPromene == 1);
  267. }
  268.  
  269. //UBACITI 3 NAJVECA CLANA U NOVI NIZ!!!2   
  270.  
  271. int main(void){
  272.    
  273.     NIZ x;
  274.     int brEl=0;
  275.     double as;
  276.  
  277.     unos(x,&brEl);
  278.     prikaz(x, brEl);
  279.     as = aritmetickaSredina(x, brEl);
  280.     frekvencija(x, brEl);
  281.  
  282.     return 0;
  283. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement