IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

vérifier un nombre répétitif sur une ligne du tableau [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut vérifier un nombre répétitif sur une ligne du tableau
    Bonjour,

    Voici mon projet, je crée un tableau 6x6 que je remplie de nombre aléatoire entre 1 et 99, ensuite j'affiche mon tableau, jusqu'à là ses assez simple, se que je voudrais faire après ses vérifier que le nombre générer ne se retrouve pas sur la même ligne (il peux se retrouver ailleurs dans le tableau mais pas sur la même ligne afficher), s'il se retrouve sur la même ligne juste faire randomed = randomed + 1; et re-vérifier s'il existe sur la ligne.

    J'avais penser à une boucle style if (randomed == "un nombre sur la ligne") mais je ne suis pas sûr ???

    Merci.

    Voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace TestTableau
    {
     
        class Program
        {
     
            static void Main(string[] args)
            {
                int[,] nombre = new int[6, 6];   // créer un tableaux 6x6
     
                int j = 0;
                while (j < 6)                   // boucle pour entrer les 36 numéros aléatoire.
                {
                    int i = 0;
                    while (i < 6)
                    {
                        int randomed = new Random().Next(1, 99);    // génère un nombre aléatoire
                        System.Threading.Thread.Sleep(100);         // fait une pause car sinon ses
                        nombre[i, j] = randomed;                    // toujours le même chiffre qui
                        i++;                                        // est générer.
                    }
                    j++;
                }
     
                afficheLeTableauParColonne(nombre);
                Console.ReadKey();
            }
     
            private static void afficheLeTableauParColonne(int[,] nombre)
            {
                Console.WriteLine("affiche le tableau par colonne:");
     
                int l = 0;
                while (l < 6)
                {
                    for (int k = 0; k < 6; k++)
                    {
                        Console.Write("{0} ", nombre[l, k]);   // affiche le tableau, colonne x colonne
                    }                                          
                    Console.WriteLine();
                    l++;
                }
            }
        }
    }

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    Salut,
    moi je ferais comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    static void x(string[] args)
    		{
    			int[,] nombre = new int[6, 6];   // créer un tableaux 6x6
     
    			int j = 0;
    			while (j < 6)                   // boucle pour entrer les 36 numéros aléatoire.
    			{
    				int i = 0;
    				while (i < 6)
    				{
    				GENERATION:
    					int randomed = new Random().Next(1, 99);    // génère un nombre aléatoire
    					System.Threading.Thread.Sleep(100);         // fait une pause car sinon ses
    															    // toujours le même chiffre qui
    															    // est générer.
    					for (int k = 0; k < i; k++)                 //contrôle que le chiffre n'est pas présent sur la dimension i
    					{
    						if (k != i && nombre[k, j] == randomed)
    						{
    							goto GENERATION;                   //si c'est le cas retour à la génération d'un nouveau chiffre
    						}
    					}
    					nombre[i, j] = randomed;                  //si ce n'est pas le cas on assigne la valeur et on passe à l'étape suivante
    					i++;
    				}
    				j++;
    			}
    'est un genre de SUDOKU ?

    Bon courage.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2015
    Messages : 5
    Par défaut Parfait
    Wow !!! marche à la perfection,

    je ne savais pas qu'on pouvais faire des goto en c# comme en basic???
    tout se qui me manquais s'étais se petit bout de code.

    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    GENERATION:
    					int randomed = new Random().Next(1, 99);    // génère un nombre aléatoire
    					System.Threading.Thread.Sleep(100);         // fait une pause car sinon ses
    															    // toujours le même chiffre qui
    															    // est générer.
    					for (int k = 0; k < i; k++)                 //contrôle que le chiffre n'est pas présent sur la dimension i
    					{
    						if (k != i && nombre[k, j] == randomed)
    						{
    							goto GENERATION;                   //si c'est le cas retour à la génération d'un nouveau chiffre
    						}

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    de voir un goto utiliser en C#, ça me fait

    goto est à bannir...

  5. #5
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    goto is cool Nan je plaisante...

    Bon aller pour les puristes (pas testé mais à l'oeil ça fait le boulot...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    int[,] nombre = new int[6, 6];   // créer un tableaux 6x6
     
    			int j = 0;
    			while (j < 6)                   // boucle pour entrer les 36 numéros aléatoire.
    			{
    				int i = 0;
    				while (i < 6)
    				{
    					int randomed = new Random().Next(1, 99);    // génère un nombre aléatoire
    					System.Threading.Thread.Sleep(100);         // fait une pause car sinon ses
    					// toujours le même chiffre qui
    					// est générer.
    					bool unique = true;
    					for (int k = 0; k < i; k++)                 //contrôle que le chiffre n'est pas présent sur la dimension i
    					{
    						if (k != i && nombre[k, j] == randomed)
    						{
    							unique = false;                    //n'est pas unique
    						}
    					}
    					if (unique)//si ce n'est pas le cas on assigne la valeur et on passe à l'étape suivante; sinon on recommence la boucle
    					{
    						nombre[i, j] = randomed;
    						i++;
    					}
    				}
    				j++;
    			}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien sur une ligne de tableau
    Par dam28800 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/04/2008, 09h15
  2. lien sur une ligne de tableau
    Par snetechen dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/02/2007, 15h56
  3. Lien sur une ligne de tableau
    Par DJPi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/07/2006, 23h09
  4. [HTML] lien hypertext sur une ligne de tableau
    Par BigBarbare dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/05/2006, 14h43
  5. Lien sur une ligne de tableau
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2005, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo