PDA

View Full Version : [C] Problema con vettore di puntatori


@Eminem@
05-03-2011, 16:04
Allora ho creato un programma che prende in input una lista nomi e la ristampa a video in ordine sparso. Ora il problema è:
Visto che generandoli casualmente ripete più volte gli stessi nomi avrei intenzione di inizializzare un vettore di tot nomi a '0' (stesso numero di qnt sono i giocatori).
poi sucecssivamente di riempire qst vettore con numeri 1 se viene messo un nome e con 0 e successivo ripescaggio del nome se un nome viene reinserito in modo che qnd è completata con tutti 1 lo stampo..
ora il procedimento per la stampa ce l'ho chiaro, non mi è chiaro come far passare un 1 e uno 0 al vettore di riempimento..
#include <stdio.h>
#include <time.h>
#define MAX 12

char lista_nomi(char *giocat[MAX], char list[MAX], int size);


main() {
char *giocatori[MAX]={"Mario", "Luigi", "Stefano", "Luca", "Fabrizio", "Maurizio", "Aurelio", "Marco", "Mirko", "Gianni", "Caio", "Tizio"};
int lista[MAX] = {0};




srand(time(NULL));

lista_nomi( giocatori, lista, MAX);

printf("\n");
system("pause");
return 0;
}


char lista_nomi(char *giocat[], char list[], int size){
int i,j;

printf("Ecco la lista nomi:\n\n\n");
for(i = 0; i < MAX; i++){
j = rand() % 12;
printf("%-10s--> ", giocat[j]);


if(i % 4 == 3){
printf("\n\n");
}
}



}


Compilatore: dev-C++

Mavel
06-03-2011, 08:24
Scusa ma non ti basta scrivere lista[j]=1 ????
E poi ripeti l'estrazione del numero casuale controllando che lista[j] != 0

Ovviamente devi inizializzare lista a 0 all'inizio.

@Eminem@
07-03-2011, 17:10
Grazie per la risposta.. Avevo gia risolto comunque!!