Dato un vettore chiamato squadre(N) contenente i nomi delle squadre che partecipano ad un torneo calcistico, generare un turno di partite accoppiando casualmente le squadre e associando i risultati casuali alle partire, visualizzando poi la colonna del totocalcio (1, X ,2 ) corrispondente alla giornata calcistica.
Sugg. supporre che il valore di N sia pari.
/*
CLAUDIO CARIDNALE 3AI
Dato un vettore chiamato squadre(N) contenente i nomi delle squadre che partecipano ad un torneo calcistico, generare un turno di partite accoppiando casualmente le squadre e associando i risultati casuali alle partire, visualizzando poi la colonna del totocalcio (1, X ,2 ) corrispondente alla giornata calcistica.
Sugg. supporre che il valore di N sia pari.
*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
#define MAX 1000
#define LEN 1000
void acquisisci(char mat[MAX][LEN], int *n);
void crea_squadre(char squadre[MAX][LEN], int *n, char results[MAX][LEN]);
void ordina(char squadre[MAX][LEN], int n, int pos);
char risultato(void);
int main(){
//dichiarazioni
int i,j,n,len;
char squadre[MAX][LEN], results[MAX][LEN];
//inizializzazioni
srand(time(NULL));
//acquisizione
acquisisci(squadre, &n);
//calcoli
len = n;
for(i=0;i<len/2;i++){
crea_squadre(squadre, &n, results);
for(j=0;j<2;j++)
printf("%s ",results[j]);
printf("%c\n",risultato());
}
}
void acquisisci(char mat[MAX][LEN], int *n){
//dichiarazioni
int i;
//acquisizione lunghezza
do{
printf("inserisci il numero di squadre(n pari) : ");
scanf("%d",n);
}while(*n<0 || *n>=MAX || *n%2);
//acquisizione
for(i=0;i<*n;i++){
printf("inserire la squadra numero %d : ",i+1);
scanf("%s",mat[i]);
}
}
void crea_squadre(char squadre[MAX][LEN], int *n, char results[MAX][LEN]){
//dichiarazioni
int i,pos;
//calcoli
for(i=0;i<2;i++){
pos = rand()%*n;
strcpy(results[i],squadre[pos]);
(*n)--;
ordina(squadre,*n,pos);
}
}
void ordina(char squadre[MAX][LEN], int n, int pos){
//dichiarazioni
int i;
//calcoli
for(i=pos;i<n;i++)
strcpy(squadre[i],squadre[i+1]);
}
char risultato(void){
//dichiarazioni
int res = rand()%3;
//calcoli
switch(res){
case 0:
return 'x';
default:
return res+'0';
}
}