|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2011
Messaggi: 73
|
[C] Problema con vettore di puntatori
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.. Codice:
#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"); } } } Ultima modifica di @Eminem@ : 05-03-2011 alle 16:24. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2000
Città: Roma
Messaggi: 943
|
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. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Feb 2011
Messaggi: 73
|
Grazie per la risposta.. Avevo gia risolto comunque!!
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:26.