|
|
|
|
|
e-learning
Probajte demo
DL podrška
studentski servis
Login
Gost nalog
prijava za upis
Online prijava
Dokumentacija za upis
 

Početna »
  


  PRETRAGA
  PRIJAVA
Prijavite se za newsletter i slaćemo vam najnovije vesti i aktuelnosti sa ITS-a
  PROGRAMSKI JEZIK C - PRIMER 069

///////////////////////////////////////////////////////////////////////
// ITS - Visoka Škola Strukovnih Studija Za Informacione Tehnologije
// http://www.its.edu.rs/
// Predmet: Osnovi Programiranja - Programski jezik C
//
// Primer: Program za rasporedjivanje studenata po salama za polaganje
//           ispita. Na pocetku programa treba ucitati broj sala, broj
//           studenata i broj mesta u svakoj od sala. Sale treba popunjavati
//           redom, pocev od onih sa najvecim brojem mesta. Na kraju treba
//           ispisati redne brojeve onih sala, koje ce se koristiti za
//           polaganje ispita.
///////////////////////////////////////////////////////////////////////


#include <stdio.h>
#include <stdlib.h>

typedef struct _sala
{
  int brSale, mesta;
} sala;

main()
{
  sala *salaUkupno;
  // s - broj sala, st - broj studenata
  int s, st, i, j;

  // unos broja sala i broja studenata
  printf("Unesite redom broj sala i broj studenata:\n");
  scanf("%d%d", &s, &st);

  // alokacija memorije
  salaUkupno = malloc((s+1)*sizeof(sala));

  // provera da li je alokacija uspela
  if(salaUkupno == NULL)
  {
    printf("Greska u alokaciji memorije.\n");
    return -1;
  }

  for(i=0; i<s; i++)
  {
    salaUkupno[i].brSale = i+1;

    // unosenje broja mesta u salama
    printf("Unesite broj mesta u sali %d:\n", i+1);
    scanf("%d", &salaUkupno[i].mesta);
  }

  // sortiranje po broju mesta u salama
  for(i=0; i<s-1; i++)
  {
    for(j=i+1; j<s; j++)
    {
      if(salaUkupno[i].mesta < salaUkupno[j].mesta)
      {
        salaUkupno[s] = salaUkupno[i];
        salaUkupno[i] = salaUkupno[j];
        salaUkupno[j] = salaUkupno[s];
      }
    }
  }

  printf("Za polaganje ispita koristice se sledece sale:\n");
  printf("%d\n", salaUkupno[0].brSale); // pretpostavka je da ce bar jedan student polagati

  // ispis rezultata
  for(i=1; i<s; i++)
  {
    st -= salaUkupno[i-1].mesta;

    if(st>0)
      printf("%d\n", salaUkupno[i].brSale);
    else
      break;
  }

  free(salaUkupno); // oslobadjanje alocirane memorije
  return 0;
}

 

 

 

 

 

 

 

 

 

 

 



Broj mesta je ograničen! Prijavite se na vreme.