@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++
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++