Last active
January 6, 2017 09:10
-
-
Save frabert/6b32c33c869b6754d93f9845be194055 to your computer and use it in GitHub Desktop.
Scheletri per esercitazione
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
// Funzioni da implementare | |
int *leggiInput(int *dim); | |
int *eliminaDup(int *vect, int dim, int *dim_nodup); | |
int ugualeASomma(int *vect, int dim); | |
int *maggioreDeiSuccessivi(int *vect, int dim); | |
int main() { | |
int *input, *nodup, *results; | |
int dim, dim_nodup, i; | |
// Legge l'input | |
input = leggiInput(&dim); | |
printf("Stampa dei valori in input: (%d valori)\n", dim); | |
for(i = 0; i < dim; i++) { | |
printf("%d\n", input[i]); | |
} | |
// Elimina i duplicati | |
nodup = eliminaDup(input, dim, &dim_nodup); | |
printf("Stampa dei valori senza duplicati: (%d valori)\n", dim_nodup); | |
for(i = 0; i < dim_nodup; i++) { | |
printf("%d\n", nodup[i]); | |
} | |
// Esegue ugualeASomma | |
printf("Risultato di ugualeASomma: %d\n", ugualeASomma(nodup, dim_nodup)); | |
// Esegue maggioreDeiSuccessivi | |
results = maggioreDeiSuccessivi(nodup, dim_nodup); | |
printf("Risultato maggioreDeiSuccessivi:\n"); | |
for(i = 0; i < dim_nodup; i++) { | |
printf("%d\n", results[i]); | |
} | |
return 0; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
// Funzioni da implementare | |
int *leggiInput(int *dim); | |
int *eliminaNeg(int *vect, int dim, int *new_dim); | |
float *mediaEstremi(int *vect, int dim); | |
int main() { | |
int *input, *noneg; | |
float *results; | |
int dim, dim_noneg, i; | |
// Legge l'input | |
input = leggiInput(&dim); | |
printf("Stampa dei valori in input: (%d valori)\n", dim); | |
for (i = 0; i < dim; i++) { | |
printf("%d\n", input[i]); | |
} | |
// Elimina i negativi | |
noneg = eliminaNeg(input, dim, &dim_noneg); | |
printf("Stampa dei valori senza negativi: (%d valori)\n", dim_noneg); | |
for(i = 0; i < dim_noneg; i++) { | |
printf("%d\n", noneg[i]); | |
} | |
// Esegue media degli estremi | |
results = mediaEstremi(noneg, dim_noneg); | |
// Calcolo dimensionale dell'array results | |
dim = dim_noneg % 2 == 0 ? dim_noneg / 2 : dim_noneg / 2 + 1; | |
printf("Risultato di mediaEstremi:\n"); | |
for(i = 0; i < dim; i++) { | |
printf("%3.2f\n", results[i]); | |
} | |
return 0; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
typedef struct { | |
int tempi[10]; /* Tempi misurati ogni 100 metri */ | |
char nome[20]; /* Nome dell'atleta */ | |
} corridore; | |
/* Funzioni da implementare */ | |
corridore *leggi_input(int *dim); | |
int trova_vincitore(corridore *vect, int dim); | |
int *tempi_to_intervalli(corridore c); | |
int *trova_sprint(corridore c); | |
int main() { | |
corridore *input; | |
int dim, dim_sprint, vincitore, i ,j; | |
int *intervalli, *sprint; | |
/* Legge l'input */ | |
input = leggi_input(&dim); | |
printf("Stampa dei valori in input: (%d atleti)\n", dim); | |
for(i = 0; i < dim; i++) { | |
printf("Tempi per l'atleta %s:", input[i].nome); | |
for(j = 0; j < 10; j++) { | |
printf(" %d", input[i].tempi[j]); | |
} | |
printf("\n"); | |
} | |
/* Trova il vincitore */ | |
vincitore = trova_vincitore(input, dim); | |
printf("Nome del vincitore: %s (miglior tempo: %d secondi)\n", | |
input[vincitore].nome, | |
input[vincitore].tempi[9]); | |
/* Converti da tempi ad intervalli */ | |
for(i = 0; i < dim; i++) { | |
intervalli = tempi_to_intervalli(input[i]); | |
printf("Intervalli per l'atleta %s:", input[i].nome); | |
for(j = 0; j < 10; j++) { | |
printf(" %d", intervalli[j]); | |
} | |
printf("\n"); | |
free(intervalli); | |
} | |
/* Trova gli sprint */ | |
for(i = 0; i < dim; i++) { | |
sprint = trova_sprint(input[i]); | |
printf("Sprint per l'atleta %s:", input[i].nome); | |
for(j = 0; j < 10; j++) { | |
printf(" %d", sprint[j]); | |
} | |
printf("\n"); | |
free(sprint); | |
} | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment