Mixilino

jul2025

Aug 15th, 2025
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.53 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. int frekvencija(int niz[], int n, int broj) {
  6.     int brojac = 0;
  7.     for (int i = 0; i < n; i++)
  8.     {
  9.         if (niz[i] == broj) brojac++;
  10.     }
  11.     return brojac;
  12. }
  13.  
  14. int broj_jedinstvenih(int niz[], int n) {
  15.     int brojac = 0;
  16.     for (int i = 0; i < n; i++)
  17.     {
  18.         if (frekvencija(niz, n, niz[i]) == 1) brojac++;
  19.     }
  20.     return brojac;
  21. }
  22.  
  23. void unos_niza(int niz[], int* n) {
  24.     int x=123;
  25.     *n = 0;
  26.     do {
  27.         printf("Unesite broj u niz: \n");
  28.         scanf("%d", &x);
  29.         if (x > 0) { //niz[(*n)++] = x;
  30.             niz[*n] = x;
  31.             (*n)++;
  32.         }
  33.     } while (x != 0);
  34. }
  35.  
  36. void ispisi_niz(int niz[], int n) {
  37.     for (int i = 0; i < n; i++)
  38.     {
  39.         printf("%d\t", niz[i]);
  40.     }
  41.     printf("\n");
  42. }
  43.  
  44. void dodaj_na_kraj_niza(int niz[], int* n, int broj) {
  45.     niz[(*n)++] = broj;
  46. }
  47.  
  48. void mat_u_niz(int mat[10][10], int n, int niz[100], int* duzina) {
  49.     int GORNJA_GRANICA = n - 1;
  50.     // prvi red
  51.     for (int i = 0; i < n; i++)
  52.     {
  53.         dodaj_na_kraj_niza(niz, duzina, mat[0][i]);
  54.     }
  55.     // poslednja kolona
  56.     for (int i = 1; i < n; i++)
  57.     {
  58.         dodaj_na_kraj_niza(niz, duzina, mat[i][GORNJA_GRANICA]);
  59.     }
  60.     // poslednji red
  61.     for (int i = GORNJA_GRANICA - 1; i >= 0; i--)
  62.     {
  63.         dodaj_na_kraj_niza(niz, duzina, mat[GORNJA_GRANICA][i]);
  64.     }
  65.     for (int i = GORNJA_GRANICA - 1; i > 0; i--)
  66.     {
  67.         dodaj_na_kraj_niza(niz, duzina, mat[i][0]);
  68.     }
  69. }
  70.  
  71. void upisi_u_dat(char naziv[], int niz[], int n) {
  72.     FILE* fajl = fopen(naziv, "w");
  73.     if (fajl == NULL) {
  74.         printf("Greska prilikom otvaranja fajla");
  75.         return;
  76.     }
  77.    
  78.     for (int i = 0; i < n; i++)
  79.     {
  80.         if (niz[i] % 2 == 0) {
  81.             fprintf(fajl, "%d\n", niz[i]);
  82.         }
  83.     }
  84.     fclose(fajl);
  85. }
  86.  
  87. int iste_cifre(int broj) {
  88.     int niz[100];
  89.     int n = 0;
  90.     while (broj != 0) {
  91.         int poslednjaCifra = broj % 10;
  92.         if (frekvencija(niz, n, poslednjaCifra) == 0) dodaj_na_kraj_niza(niz, &n, poslednjaCifra);
  93.         broj /= 10;
  94.     }
  95.     /*if (n == 1) return 1;
  96.     return 0;*/
  97.     return n == 1;
  98. }
  99.  
  100. typedef struct element ELEMENT;
  101. typedef struct element* POKAZIVAC;
  102. struct element {
  103.     int podatak;
  104.     struct element* sledeci;
  105. };
  106.  
  107.  
  108. void dodaj_na_pocetak(int broj, POKAZIVAC* lista) {
  109.     POKAZIVAC novi = malloc(sizeof(ELEMENT));
  110.     novi->sledeci = *lista;
  111.     novi->podatak = broj;
  112.     *lista = novi;
  113. }
  114.  
  115. int rastuca_lista(POKAZIVAC lista) {
  116.     if (lista == NULL || lista->sledeci == NULL) return 1;
  117.     int prethodni = lista->podatak;
  118.     lista = lista->sledeci;
  119.  
  120.     while (lista != NULL) {
  121.         if (lista->podatak <= prethodni) return 0;
  122.         prethodni = lista->podatak;
  123.         lista = lista->sledeci;
  124.     }
  125.     return 1;
  126. }
  127.  
  128.  
  129. int main() {
  130.     /*int niz[100], n;
  131.     unos_niza(niz, &n);
  132.     for (int i = 0; i < n; i++)
  133.     {
  134.         printf("\n%d ", niz[i]);
  135.     }*/
  136.    
  137.     //int mat[10][10] = { {1,2,3}, {4,5,6},{7,8,9} };
  138.     //int dim = 3;
  139.     //int niz[100];
  140.     //int n = 0;
  141.     //mat_u_niz(mat, dim, niz, &n);
  142.     //ispisi_niz(niz, n);
  143.  
  144.     //for (int i = 0; i < 3; i++)
  145.     //{
  146.     //  for (int j = 0; j < 3; j++)
  147.     //  {
  148.     //      printf("%d%d \t", i, j);
  149.     //  }
  150.     //  printf("\n");
  151.     //}
  152.  
  153.     /*int niz[] = { 1,2,3,4,5,6,12 };
  154.     int n = 7;
  155.     upisi_u_dat("brojevi.txt", niz, n);*/
  156.  
  157.     /*printf("1111=> %d\n", iste_cifre(1111));
  158.     printf("7=> %d\n", iste_cifre(7));
  159.     printf("123=> %d\n", iste_cifre(123));
  160.     printf("909=> %d\n", iste_cifre(909));
  161.     printf("222=> %d\n", iste_cifre(222));
  162.     printf("112=> %d\n", iste_cifre(112));*/
  163.  
  164.     //POKAZIVAC glava = NULL;
  165.     //dodaj_na_pocetak(12, &glava);
  166.     //dodaj_na_pocetak(564, &glava);
  167.     //dodaj_na_pocetak(1, &glava);
  168.     //while (glava != NULL) {
  169.     //  printf("%d\t", glava->podatak);
  170.     //  glava = glava->sledeci;
  171.     //}
  172.  
  173.  
  174.     return 0;
  175. }
Advertisement
Add Comment
Please, Sign In to add comment