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 :

Se déplacer dans un tableau


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 28
    Par défaut Se déplacer dans un tableau
    Bonjour tout le monde !

    Je bloque sur mon programme alors je fais appel à vous si vous avez des idées.

    Par exemple si j'ai ce type de tableau:

    300
    000
    300

    j'aimerais obtenir ce résultat:

    -300
    -300
    -300

    En fait je dois me déplacer de 3 cases pour aller d'un 3 vers un autre 3.
    De même pour les 4, les 5, ...

    Comme par exemple:


    0400
    0000
    0040

    devrait devenir :

    0 -4 0 0
    0 -4 0 0
    0 -4 -4 0

    ou encore:


    0 -4 -4 0
    0 0 -4 0
    0 0 -4 0

    pour faire un chemin de 4 cases.

    Vos propositions de solution sont les bienvenues!

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu veux dire une fonction qui parcoure le tableau 2D ainsi de X à X, tout en donnant la valeur -X à chaque case traversée?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Tu veux dire une fonction qui parcoure le tableau 2D ainsi de X à X, tout en donnant la valeur -X à chaque case traversée?
    Je crois bien que oui, en précisant que X n'est pas une composante d'une coordonnée, mais une valeur arbitraire dans le tableau ...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 28
    Par défaut tableau 2x2
    Oui vous avez bien compris, je souhaite aller d'X en X en remplaçant les cases sur lesquelles je suis passé par -X.

    Merci pour avoir jeté un coup d'oeil à mon message !!

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 487
    Par défaut
    Citation Envoyé par holdboy Voir le message
    Oui vous avez bien compris, je souhaite aller d'X en X en remplaçant les cases sur lesquelles je suis passé par -X.

    Merci pour avoir jeté un coup d'oeil à mon message !!
    C'est un problème d'algorithmique, pas de C en particulier. La question est : as-tu des contraintes pour choisir ton chemin (style : « ne passer que par des zéros ») ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 28
    Par défaut
    J'ai quelques contraintes en effet.
    Tout d'abord je ne dois passer que par des 0 et ne pas recouper d'autres chemin.

    Exemple:

    Si au départ j'ai ce genre de tableau:
    0 3 0 0
    4 0 0 4
    0 3 0 0

    je ne pourrai avoir que :

    0 -3 0 0
    4 -3 0 4
    0 -3 0 0


    ou

    0 3 0 0
    -4 -4 -4 -4
    0 3 0 0

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 28
    Par défaut
    Voici le code que j'ai essayé de faire pour répondre à mon sujet et comme je m'y attendais il ne fonctionne pas !

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    int main(void)
     
    {
    int tableau[3][3];
    int u;
    int v;
    int i;
    int j;
    int k;
    int l;
    int nbr_cases=0;
     
     
    insert_valeurs(tableau);
     
    for(u=0;u<3;u++)
    {
    	for(v=0;v<3;v++)
    	{
    		for(k=0;k<3;k++)
    		{
    			for(l=0;l<3;l++)
    			{
    				if(tableau[u][v]==tableau[k][l])
    			{
    				1;
    			}
     
    			}
     
    		}
     
    	}
    nbr_cases++;
    }
     
    for(k=0;k<3;k++)
    	{
    		for(l=0;l<3;l++)
    		{
    		if(tableau[k][l]==nbr_cases)
    		{
    		tableau[k][l]=-tableau[k][l];
    		}
    		}
    	}
     
     
     
    for(j=0;j<3;j++)
    {	
    	for(i=0;i<3;i++)
    	{
    		printf("%i",tableau[j][i]);
    	}
    	printf("\n");
    }
     
     
    printf("%i\n",nbr_cases);
     
    return 0;

  8. #8
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(tableau[u][v]==tableau[k][l])
    {
          1;
    }
    Ceci ne fait rien du tout. Qu'est-ce que ce 1; qui traine tout seul ?

Discussions similaires

  1. [XL-2003] macro simple pour déplacer des lignes dans un tableau
    Par akka01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/08/2010, 16h24
  2. Fonction pour se déplacer dans un tableau 2D ?
    Par guipe dans le forum Collection et Stream
    Réponses: 72
    Dernier message: 16/12/2009, 11h23
  3. Se déplacer dans un tableau
    Par Linu6 dans le forum Langage
    Réponses: 3
    Dernier message: 08/04/2009, 10h43
  4. Se déplacer dans un tableau 2x2
    Par holdboy dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 02/12/2008, 16h35
  5. Déplacer champs dans un tableau
    Par blacksnake dans le forum Langage
    Réponses: 2
    Dernier message: 01/05/2007, 16h46

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