Codice dei programmi nella directory:
///File: Tempo.c
//Autore:XXXX - Data ultima modifica DD/MM/AA
//Breve descrizione del programma: programma vuoto
#include <stdio.h>
#include <time.h>
int main()
{
/***
Utilizzare clock_t start = clock(); prima del codice da testare.
Utilizzare clock_t end = clock(); dopo.
Durata in secondi: (double)(end - start) / CLOCKS_PER_SEC. ***/
clock_t start = clock(); /// inizio tempo
printf("Premi invio....");
getchar();
clock_t end = clock();
printf("Durata in secondi: %10.2lf", (double)(end - start) / CLOCKS_PER_SEC);
return 0;
}
///(Fine file: Tempo.c)
///File: ParoleAcaso.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define LSTR 128
int ogni; /// visualizza ogni OGNI valori
void randomizza()
/* Chiamare 1 sola volta, prima di random() */
{
time_t t;
srand((unsigned) time(&t));
/* inizializza generatore pseudocasuale sul tempo di sistema */
}
int acaso(int min, int max)
// genero un valore a caso fra min e max
{
return rand() % (max - min + 1) + min;
}
void genera_parola(char s[]) { /// prova a generare a caso la parola MAIUSCOLA
int i;
int len = strlen(s);
char generata[LSTR] = {0};
int tentativo = 0;
clock_t inizio = clock(); /// Calcolo tempo
do {
for (i = 0; i < len; i++)
generata[i] = acaso('A', 'Z'); /// valore a caso compreso fra 'A' e 'Z'
tentativo++;
if (tentativo % ogni == 0)
printf("Tentativo %d, parola generata=[%s]\n", tentativo, generata);
} while (strcmp(s, generata) != 0);
printf("Parola generata di %d lettere = [%s] in %d tentativi\n", len,generata,tentativo);
clock_t fine = clock(); /// Calcolo tempo
double tempo_trascorso = ((double)(fine - inizio)) / CLOCKS_PER_SEC;
printf("Tempo trascorso: %f secondi\n", tempo_trascorso);
}
int main() {
char s[LSTR];
char invio;
randomizza();
printf("Parola MAIUSCOLA senza spazi ->");
gets(s);
printf("Visualizzo tentativi ogni ---->");
scanf("%d%c", &ogni, &invio);
genera_parola(s);
printf("Premi invio...");
getchar();
return 0;
}
///(Fine file: ParoleAcaso.c)