Advertisement
Guest User

IspitJanuar2018

a guest
Jan 28th, 2020
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.33 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. typedef struct cvor* PCVOR;
  4. typedef struct cvor {
  5.     int broj;
  6.     PCVOR sledeci;
  7. }CVOR;
  8. typedef int MAT[100][100];
  9. int zbirCifaraBroja(int broj);
  10. void unosUNiz(int niz[], int brEl);
  11. void ispisiNiz(int niz[], int brEl);
  12. void ispisiNajvecuSumuCifara(int niz[],int brEl);
  13. int parnihTrocifrenihZbirCifara13();
  14. void daLiJeTrocifreniParniJednakNekomBroju(int niz[], int zadatiBroj);
  15. //void sortiranoUbacivanje(PCVOR glava);
  16. void ispisListe(PCVOR glava);
  17. void upisNizovaUDatoteke();
  18. void ispisiNiz1();
  19. int daLiSeNalaziUNizu(int niz[], int brEl, int zadatiEl);
  20. void unijaDvaNiza(int niz1[], int niz2[], int n1, int n2);
  21. void noviNiz(MAT matrica, int n, int zadataKolona1, int zadataKolona2);
  22.  
  23. int main() {
  24.     MAT matrica = {{1,2,3,4,5},
  25.                   {6,7,8,9,10},
  26.                   {1,12,1,14,5},
  27.                   {42,6,3,8,9},
  28.                   {12,9,3,2,1}};
  29.     int n = 5;
  30.     noviNiz(matrica, 5, 1, 5);
  31.     /*PCVOR glava = NULL;
  32.     int niz[100];
  33.     int n;
  34.     printf("Koliko brojeva unosis: ");
  35.     scanf("%d", &n);*/
  36.     //unosUNiz(niz, n);
  37.     //ispisiNiz(niz, n);
  38.     //ispisiNajvecuSumuCifara(niz, n);
  39.     /*int parnihTroc13 = parnihTrocifrenihZbirCifara13();
  40.     printf("Ima ih %d\n", parnihTroc13);*/
  41.     /*int zadatiBroj = 14;
  42.     daLiJeTrocifreniParniJednakNekomBroju(niz, zadatiBroj);*/
  43.     //ispisiNiz1();
  44.    
  45.     system("pause");
  46.     return 0;
  47. }
  48. int zbirCifaraBroja(int broj) {
  49.     int cifra;
  50.     int suma = 0;
  51.     while (broj > 0) {
  52.         cifra = broj % 10;
  53.         suma = suma + cifra;
  54.         broj = broj / 10;
  55.     }
  56.     return suma;
  57. }
  58. void unosUNiz(int niz[], int brEl) {
  59.     int i;
  60.     for (i = 0; i < brEl; i++) {
  61.         printf("%d.broj: ", i + 1);
  62.         scanf("%d", &niz[i]);
  63.     }
  64. }
  65. void ispisiNiz(int niz[], int brEl) {
  66.     int i;
  67.     printf("Uneti su brojevi: \n");
  68.     for (i = 0; i < brEl; i++) {
  69.         printf("%d\t", niz[i]);
  70.     }
  71.     printf("\n");
  72. }
  73. void ispisiNajvecuSumuCifara(int niz[], int brEl) {
  74.     int maxSumaCifara = 0;
  75.     int zapamtiNajveci;
  76.     int i;
  77.     for (i = 0; i < brEl; i++) {
  78.         if (zbirCifaraBroja(niz[i]) > maxSumaCifara) {
  79.         maxSumaCifara = zbirCifaraBroja(niz[i]);
  80.         zapamtiNajveci = niz[i];
  81.         }
  82.     }
  83.     printf("Najveca sumu cifara je %d, od broja %d\n",maxSumaCifara,zapamtiNajveci);
  84. }
  85. int parnihTrocifrenihZbirCifara13() {
  86.     int i;
  87.     int brojac = 0;
  88.     for (i = 100; i < 999; i++) {
  89.         if (i % 2 == 0 && zbirCifaraBroja(i) == 13) {
  90.             brojac++;
  91.         }
  92.     }
  93.     return brojac;
  94. }
  95. void daLiJeTrocifreniParniJednakNekomBroju(int niz[],int zadatiBroj) {
  96.     int i;
  97.     int brEl = 0;
  98.     for (i = 100; i < 999; i++) {
  99.         if (i % 2 == 0 && zbirCifaraBroja(i) == zadatiBroj) {
  100.             niz[brEl++]=i;
  101.         }
  102.     }
  103.     ispisiNiz(niz, brEl);
  104. }
  105. //KAKO NIZ DA UBACIM U LISTU????
  106. //void sortiranoUbacivanje(PCVOR glava) {
  107. //
  108. //}
  109.  
  110. void ispisListe(PCVOR glava) {
  111.     PCVOR tekuci = glava;
  112.     if (glava == NULL) {
  113.         printf("Lista je prazna.\n");
  114.         return;
  115.     }
  116.     printf("Lista je: \n");
  117.     while (tekuci != NULL) {
  118.         printf("%d\t", tekuci->broj);
  119.         tekuci = tekuci->sledeci;
  120.     }
  121. }
  122. void ispisiNiz1() {
  123.     int niz1[100];
  124.     int brEl1 = 0;
  125.     int i;
  126.     for (i = 100; i < 999; i++) {
  127.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 100 && i <= 199) {
  128.             niz1[brEl1++] = i;
  129.         }
  130.     }ispisiNiz(niz1, brEl1);
  131. }
  132. void upisNizovaUDatoteke() {
  133.     FILE* datoteka1 = fopen("100.txt", "w");
  134.     FILE* datoteka2 = fopen("200.txt", "w");
  135.     FILE* datoteka3 = fopen("300.txt", "w");
  136.     FILE* datoteka4 = fopen("400.txt", "w");
  137.     FILE* datoteka5 = fopen("500.txt", "w");
  138.     FILE* datoteka6 = fopen("600.txt", "w");
  139.     FILE* datoteka7 = fopen("700.txt", "w");
  140.     FILE* datoteka8 = fopen("800.txt", "w");
  141.     FILE* datoteka9 = fopen("900.txt", "w");
  142.     int niz1[100];
  143.     int niz2[100];
  144.     int niz3[100];
  145.     int niz4[100];
  146.     int niz5[100];
  147.     int niz6[100];
  148.     int niz7[100];
  149.     int niz8[100];
  150.     int niz9[100];
  151.     int brEl1 = 0;
  152.     int brEl2 = 0;
  153.     int brEl3 = 0;
  154.     int brEl4 = 0;
  155.     int brEl5 = 0;
  156.     int brEl6 = 0;
  157.     int brEl7 = 0;
  158.     int brEl8 = 0;
  159.     int brEl9 = 0;
  160.     int i;
  161.     int zapamtiBrEl1;
  162.     for (i = 100; i < 999; i++) {
  163.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 100 && i <= 199) {
  164.             niz1[brEl1++] = i;
  165.             zapamtiBrEl1 = brEl1;
  166.         }
  167.     }
  168.     ispisiNiz(niz1, zapamtiBrEl1);
  169.  
  170.     for (i = 100; i < 999; i++) {
  171.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 200 && i <= 299) {
  172.             niz2[brEl2++] = i;
  173.         }
  174.     }
  175.     for (i = 100; i < 999; i++) {
  176.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 300 && i <= 399) {
  177.             niz3[brEl3++] = i;
  178.         }
  179.     }
  180.     for (i = 100; i < 999; i++) {
  181.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 400 && i <= 499) {
  182.             niz4[brEl4++] = i;
  183.         }
  184.     }
  185.     for (i = 100; i < 999; i++) {
  186.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 500 && i <= 599) {
  187.             niz5[brEl5++] = i;
  188.         }
  189.     }
  190.     for (i = 100; i < 999; i++) {
  191.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 600 && i <= 699) {
  192.             niz6[brEl6++] = i;
  193.         }
  194.     }
  195.     for (i = 100; i < 999; i++) {
  196.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 700 && i <= 799) {
  197.             niz7[brEl7++] = i;
  198.         }
  199.     }
  200.     for (i = 100; i < 999; i++) {
  201.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 800 && i <= 899) {
  202.             niz8[brEl8++] = i;
  203.         }
  204.     }
  205.     for (i = 100; i < 999; i++) {
  206.         if (i % 2 == 0 && zbirCifaraBroja(i) == 14 && i >= 900 && i <= 999) {
  207.             niz9[brEl9++] = i;
  208.         }
  209.     }
  210.     fclose(datoteka1);
  211.     fclose(datoteka2);
  212.     fclose(datoteka3);
  213.     fclose(datoteka4);
  214.     fclose(datoteka5);
  215.     fclose(datoteka6);
  216.     fclose(datoteka7);
  217.     fclose(datoteka8);
  218.     fclose(datoteka9);
  219. }
  220. int daLiSeNalaziUNizu(int niz[], int brEl, int zadatiEl) {
  221.     int i;
  222.     for (i = 0; i < brEl; i++) {
  223.         if (niz[i] == zadatiEl) {
  224.             return 1;
  225.         }
  226.     }
  227.     return 0;
  228. }
  229. void unijaDvaNiza(int niz1[], int niz2[], int n1, int n2) {
  230.     int i;
  231.     int nizUnija[100];
  232.     int brElUnije = 0;
  233.     for (i = 0; i < n1; i++) {
  234.         if (daLiSeNalaziUNizu(nizUnija, brElUnije, niz1[i]) == 0) {
  235.             nizUnija[brElUnije++] = niz1[i];
  236.         }
  237.     }
  238.     for (i = 0; i < n2; i++) {
  239.         if (daLiSeNalaziUNizu(nizUnija, brElUnije, niz2[i]) == 0) {
  240.             nizUnija[brElUnije++] = niz2[i];
  241.         }
  242.     }
  243.     ispisiNiz(nizUnija, brElUnije);
  244. }
  245. //Od ove dve kolone napravim 2 niza pa zatim unija nizova?
  246. void noviNiz(MAT matrica, int n, int zadataKolona1,int zadataKolona2) {
  247.     int niz1[100];
  248.     int brEl1 = 0;
  249.     int niz2[100];
  250.     int brEl2 = 0;
  251.     int i;
  252.     int indexJ1 = zadataKolona1 - 1;
  253.     int indexJ2 = zadataKolona2 - 1;
  254.     for (i = 0; i < n; i++) {
  255.         niz1[brEl1++] = matrica[i][indexJ1];
  256.     }
  257.     for (i = 0; i < n; i++) {
  258.         niz2[brEl2++] = matrica[i][indexJ2];
  259.     }
  260.     unijaDvaNiza(niz1, niz2, brEl1, brEl2);
  261. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement