Uvod u računarstvo: 2. kolokvij, 13.2.2006.
Rješenja zadataka prve grupe

Tekstove zadataka možete naći ovdje.

  1. zadatak:
    Ispisuje izraz NZM(p(a0), an)).
    funkcija nzm(int x, int y) {
      if (x < y) {
        pom = x;
        x = y;
        y = pom;
      }
      while (y != 0) {
        pom = x % y;
        x = y;
        y = pom;
      }
      return x;
    }
    
    funkcija p(int x, int *a, int n) {
      r = 0;
      for (i = n; i >= 0; i--)
        r = r * x + *(a + i);
      return r;
    }
    
    Gl.program:
    scanf(n);
    for (i = 0; i <= n; i++) scanf(a[i]);
    printf(nzm(p(a[0], &a[0], n), a[n]));
  2. zadatak:
    Radimo sa nizom varijabli tipa radnik.
    1. Sort niza koji je sortiran (indeksi idu od 0 do n-1):
      for (i = 0; i < n - 1; i++)
        for (j = i + 1; j < n; j++)
          if (radnici[i].godinestaza > radnici[j].godinestaza) {
            pom = radnici[i];
            radnici[i] = radnici[j];
            radnici[j] = pom;
          }
    2. Funkcija koja vraća broj godina preostalih do mirovine:
      funkcija mirovina(radnik r) {
        return 40 - r.godinestaza;
      }
  3. zadatak:
    1. Zapis lradnik:
      struct lradnik {
        char ime[20];
        char prezime[50];
        int godinestaza;
        lradnik *sljedeci;
      }
    2. Ispis radnika s najviše 5 godina staža:
      pomocni = lista;
        while (pomocni != 0) {
          if (pomocni->godinestaza <= 5)
            printf(pomocni->ime, " ", pomocni->prezime);
          pomocni = pomocni->sljedeci;
        }
    3. Funkcija koja briše iz liste sve radnike koji se zovu "Marko":
      funkcija brisiMarka(lradnik *prvi) {
        // Provjeri pocetak liste
        while (lista != 0 && lista->ime == "Marko") lista = lista->sljedeci;
        if (lista == 0) return 0;
        prije = lista;
        trenutni = lista->sljedeci;
        while (trenutni != 0)
          if (trenutni->ime == "Marko") {
            trenutni = trenutni->sljedeci;
            prije->sljedeci = trenutni;
          } else {
            prije = trenutni;
            trenutni = trenutni->sljedeci;
          }
        return lista;
      }