Help me problema con funzione

di il
1 risposte

Help me problema con funzione

Quando do in esecuzione il mio programma, dopo la richiesta se estrarre un numero,
richiamo la funzione estrazione, ma a video non mi viene stampato il numero estratto
ecco il codice:

#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#include<string.h>
#include<ctype.h>
#define PEDINE 90
#define RIG 3
#define COL 9

void carica_bussollotto(int tombolino[PEDINE]) // riempie il bussolotto
{
	int i;
	
	for(i=0;i<PEDINE;i++)
	{
		tombolino[i]==(i+1);
	}
}
void estrazione(int tombolino[PEDINE]) //eseguo un estrazione dal bussolotto se ! da " " stampa il numero else rieseguo
{
	void ordina_tombolino(int tombolino[],int pedine_totali);
	int estrai=1+rand()%PEDINE;
	int i=0;
	int pedine_totali;
	int estratto=0;
	
	do
	{
		i++;
		tombolino[estrai]=estrai;// inserisco il numero nell' array
		
		if(tombolino[estrai]!=0) // se i di tombolino è diverso da vuoto o null
		{
			printf("Il numero estratto è %d\n",estrai);
			pedine_totali=PEDINE-i; // diminuisco il size dell' array
			tombolino[estrai]=0; // sostistuisco in numero con 0, in modo da non estrarlo
			ordina_tombolino( tombolino, pedine_totali);	// richiamo funzione ord per sel
		}		
		
	}while(pedine_totali == 0);
	
}
void ordina_tombolino(int tombolino[PEDINE], int totali_pedine ) // ordinamento per selezione di max per size decrescente
{
	void max_val_ind(int tombolino[], int n, int *max_array, int *i_max);
	void scambiare_c(int tombolino[], int array[]);
	int i,indice_max;
	int max_array;
	for(i=totali_pedine-1; i>0; i--)
	{
		max_val_ind(&tombolino[0],i+1,&max_array,&indice_max);
		scambiare_c(&tombolino[i],&tombolino[indice_max]);
	}
}
void max_val_ind(int tombolino[], int n, int *max_array, int *i_max)
{
	int i;
	*max_array= tombolino[0];
	*i_max=0;
	for(i=1;i<n;i++)
	{
		if(tombolino[i] > *max_array)
		{
			*max_array = tombolino[i];
			*i_max=1;
		}
	}
}
void scambiare_c(int *tombolino, int *array)
{
	int *temp;
	*temp = *tombolino;
	*tombolino = *array;
	*array =  *temp;
}

int main()
{
	int tombolino[PEDINE];
	char estrai;
	srand(time(NULL));
	
	carica_bussollotto(tombolino);
	
	do
	{ 
		printf("Vuoi estrarre un numero! S per Si N per NO\n"); // oltre a S accetto anche qualsiasi altro valore tranne N
		estrai=getchar();
		toupper(estrai);
		if(estrai=='S')
		{
			estrazione(tombolino);
		}
		if(estrai=='N')
		{
			printf("!!!Complimenti al vincitore!!!\n");
			break;
		}
		
	}while(estrai!='N'); // ciclo fin quando non è inserito il valore N
	
	
	system("PAUSE");
	return 0;
}

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte