#include #include #include #include #include double calcola_affinita(char nome1[], char nome2[]) { int somma_ascii = 0; int min_ascii; int random_value; for (int i = 0; nome1[i] != '\0' && nome2[i] != '\0'; i++) { somma_ascii += (int)nome1[i] + (int)nome2[i]; } min_ascii = (int)nome1[0] < (int)nome2[0] ? (int)nome1[0] : (int)nome2[0]; for (int i = 1; nome1[i] != '\0' && nome2[i] != '\0'; i++) { if ((int)nome1[i] < min_ascii) min_ascii = (int)nome1[i]; if ((int)nome2[i] < min_ascii) min_ascii = (int)nome2[i]; } srand(time(NULL)); random_value = rand() % (min_ascii + 1); double affinita = (double)(somma_ascii - random_value) / (255 * strlen(nome1) + 255 * strlen(nome2) - random_value) * 10; return affinita; } int main() { SetConsoleTitle("Calcolo affinita' di coppia by Vichi Manuel"); char nome1[100]; char nome2[100]; printf("Inserisci il primo nome: "); scanf("%s", nome1); printf("Inserisci il secondo nome: "); scanf("%s", nome2); double affinita = calcola_affinita(nome1, nome2); printf("L'affinita' di coppia tra %s e %s e'': %.2f/10\n", nome1, nome2, affinita); return 0; }