Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
#include <stdio.h>
struct Film {
int codiceFilm;
int codiceRegista;
int annoProduzione;
int durata;
char titolo[100];
char genere[100];
};
struct Regista {
int codiceRegista;
int dataNascita;
char cognome[100];
char nome[100];
char nazionalita[100];
// NUOVA VARIABILE:
int filmDiretti;
};
void bubbleSort(int vettore[], int lunghezzaArray) {
int tmp;
for (int i = 0; i < lunghezzaArray-1; i++) {
if (vettore[i] > vettore[i+1]) {
tmp = vettore[i];
vettore[i] = vettore[i+1];
vettore[i+1] = tmp;
}
}
}
void stampaOrdineDecrescente(struct Film insiemeFilm[], struct Regista insiemeRegisti[]) {
int r, f;
for (r = 0; r < 20; r++) {
if (insiemeRegisti[r].codiceRegista != -1) {
insiemeRegisti[r].filmDiretti = 0;
for (f = 0; f < 20; f++) {
if (insiemeRegisti[r].codiceRegista == insiemeFilm[f].codiceRegista) {
insiemeRegisti[r].filmDiretti++;
}
}
}
}
int filmDiretti[20];
// ok ora ogni regista ha i suoi film diretti nella sua variabile "filmDiretti" (guarda la modifica alla struct)
// metto tutti i valori nell'array
for (r = 0; r < 20; r++) {
filmDiretti[r] = insiemeRegisti[r].filmDiretti;
}
bubbleSort(filmDiretti, 20);
for (r = 20; r < 0; r++) {
if (insiemeRegisti[r].filmDiretti == filmDiretti[r]) {
printf("Regista %s %s ha fatto %d film", insiemeRegisti[r].nome, insiemeRegisti[r].cognome, insiemeRegisti[r].filmDiretti);
}
}
}
void inizializzaRegistiEFilm(struct Film insiemeFilm[], struct Regista insiemeRegisti[]) {
int i;
for (i = 0; i < 20; i++) {
insiemeFilm[i].codiceRegista = -1;
insiemeRegisti[i].codiceRegista = -1;
}
}
int main() {
struct Regista insiemeRegisti[20];
struct Film insiemeFilm[20];
inizializzaRegistiEFilm(insiemeFilm, insiemeRegisti);
stampaOrdineDecrescente(insiemeFilm, insiemeRegisti);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment