Valeur aléatoire dans un tableau a deux Facteur

Fermé
WiildLife Messages postés 85 Date d'inscription mercredi 21 octobre 2015 Statut Membre Dernière intervention 19 novembre 2020 - 16 nov. 2018 à 21:51
WiildLife Messages postés 85 Date d'inscription mercredi 21 octobre 2015 Statut Membre Dernière intervention 19 novembre 2020 - 12 déc. 2018 à 15:52
Bonsoir,
Je vous expose le but de mon programme.
Je souhaite crée une bataille navale en C , et une fonction me pose problème , le placement des bateau de l'ordinateur(Car oui la bataille navale est contre l'ordinateur).Pour faire simple j'ai crée un tableau a deux facteur soit :
seamapordi[Ligne][Cologne];
Il y a 6 bateau a placer de 1x1.
Mon but n'est pas de crée 12 variables puis de les rendre aléatoire mais de crée une boucle While ou for afin de le faire avec le moins de variables possibles.
J'ai chercher sur internet mais impossible de trouver un programme qui crée en boucle deux variables aléatoire.
Voici ce que j'ai essayer de faire sans sucées.

int PlaceBoat_ordi(void)
{
srand(time(NULL));

int i=0;
while (i<10)
{
seamapordi[i][i]=(rand()%10);
i++;
}
return 0;
}
//


Merci bonne soirée.

1 réponse

Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
17 nov. 2018 à 12:01
Bonjour,

Il faut choisir aléatoirement la case
for ( int i = 0 ; i < 6 ; ++i ) {
    seamapordi[rand()%10][rand()%10]  =  UN_BATEAU;  // placer un bateau au hasard
}
Cette boucle va choisir 6 positions et y mettre un bateau. Attention, le hasard peut faire que plusieurs bateaux soient dans la même case, il y en aura donc peut-être moins de 6 avec cette méthode simplifiée.
1
WiildLife Messages postés 85 Date d'inscription mercredi 21 octobre 2015 Statut Membre Dernière intervention 19 novembre 2020 122
12 déc. 2018 à 15:52
Merci pour ta réponse , désolée pour la réponse tardive , j'ai trouvé la solution par moi même , pour les bateaux en doubles j'ai fais un while que les cases aléatoires tombant sur un bateau existant il reprend des chiffres aléatoires.
Bonne soirée merci tout de même.
0