Professional Documents
Culture Documents
Strukture Podataka
Strukture Podataka
void main()
{
int n;
int i;
struct student STU[100];
printf("Unesite broj studenata: \n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("Unesi ime: \n");
scanf("%s",STU[i].Ime);
printf("Unesi prezime: \n");
scanf("%s",STU[i].Prezime);
printf("Unesi broj indeksa: \n");
scanf("%d",&STU[i].broj_indeksa);
printf("Unesi srednju ocenu: \n");
scanf("%f",&STU[i].srednja_ocena);
}
sort(STU,n);
for(i=0;i<n;i++)
{
printf("student broj %d\n",i+1);
printf("Ime:%s\n",STU[i].Ime);
printf("Prezime:%s\n",STU[i].Prezime);
printf("Broj indeksa: %d\n",STU[i].broj_indeksa);
printf("Srednja ocena: %5.2f\n\n\n",STU[i].srednja_ocena);
}}
3.
Napisati program koji pravi rang listu studenata koji su polagali prijemni ispit. Sa
standardnog ulaza se unose sledeci podaci: ime studenta, cetiri ocene iz prethodnog
skolovanja i broj bodova na prijemnom ispitu.
#include<stdio.h>
#define DIM 10
typedef struct student{
char ime[20];
int brBodova;/*Ukupna suma bodova svakog studenta: ocene + prijemni*/
};
void razmeni(struct student *a, struct student *b){
struct student tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
void sort(struct student niz[], int n){
int i, j;
for(i=0; i<n-1; i++)
for(j=i; j<n; j++)
if(niz[i].brBodova<niz[j].brBodova)
razmeni(&niz[i], &niz[j]);}
void main(){
struct student nizStudenata[DIM];
int n, i, j;
static int ocene[5];
int bodovi;
static int sumaOcena[DIM];/*Suma ocena iz prethodnog skolovanja*/
printf("Uneti broj studenta koji je polagao prijemni: ");
scanf("%d", &n);
for(i=0; i<n; i++){
printf("Uneti ime studenta: ");
scanf("%s", &nizStudenata[i].ime);
printf("Uneti cetiri ocene iz prethodnog skolovanja: ");
for(j=0; j<4; j++){
scanf("%d", &ocene[j]);
sumaOcena[i]+=ocene[j];
//printf("Suma ocena je: %d\n", sumaOcena[i]);
}
printf("Uneti broj bodova sa prijemnog: ");
scanf("%d", &bodovi);
nizStudenata[i].brBodova=sumaOcena[i]+bodovi;
printf("Ukupna suma bodova svakog studenta: ocene + prijemni je: %d\n",
nizStudenata[i].brBodova);
}
sort(nizStudenata, n);
printf("Rang lista studenata je:\n\n");
for(i=0; i<n; i++)
printf("%s\t%d\n", nizStudenata[i].ime, nizStudenata[i].brBodova);}
4. Definisati strukturu GRAD sa podacima clanovima: ime, broj_stanovnika,
prosecan_dohodak_radnika. Napisati program kojim se unose podaci o gradovima u Srbiji i
stampati na standardnom izlazu ime grada sa najvecim brojem stanovnika. Izracunati
ukupan dohodak svih unetih gradova.
#include<stdio.h>
#define DIM 10
typedef struct grad{
char ime[20];
int brStan;
float dohodak;
};
void main(){
struct grad nizGradova[DIM];
int i, n;
float ukupanDohodak=0.0;
int najveci;
int indeksNajvecegGrada;
printf("Uneti koliko gradova ima: ");
scanf("%d", &n);
for(i=0; i<n; i++){
printf("Uneti ime grada: ");
scanf("%s", &nizGradova[i].ime);
printf("Uneti broj stnovnika: ");
scanf("%d", &nizGradova[i].brStan);
printf("Uneti dohodak: ");
scanf("%f", &nizGradova[i].dohodak);
ukupanDohodak+=nizGradova[i].dohodak;
}
printf("Ukupan dohodak svih gradova je: %6.2f\n", ukupanDohodak);
najveci=nizGradova[0].brStan;
indeksNajvecegGrada=0;
for(i=0; i<n; i++){
if(nizGradova[i].brStan>najveci){
najveci=nizGradova[i].brStan;
indeksNajvecegGrada=i;
}
}
printf("Grad sa najvise stanovnika je %s\n", nizGradova[indeksNajvecegGrada].ime);
}
scanf("%s", &nizImenik[i].prezime);
printf("Uneti broj telefona pretplatnika: ");
scanf("%s", &nizImenik[i].broj);
printf("Uneti adresu pretplatnika: ");
scanf("%s", &nizImenik[i].adresa);;
}
sort(nizImenik, n);
printf("\nTelefonski imenik sortiran po prezimenu pretplatnika je:\n\n");
for(i=0; i<n; i++)
printf("%s\t%s\t%s\n", nizImenik[i].prezime, nizImenik[i].broj, nizImenik[i].adresa);
}