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 :

Problèmes avec la fonction void


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Problèmes avec la fonction void
    Bonjour à tous
    Voici mon probleme, je suis debutant en C et je doit faire un jeu tout noir tout blanc, ce jeu doit afficher un tableau a 2 dimensions dans lequel je joueur de defins n nombres de lignes et m nombres de colonnes.
    Ce tableau est au debut remplis de 0 (case noir) le joueur choisir une coordonneé x et y et la case du tableau ainsi choisi se transforme en 1 (blanc).
    Je doit ainsi afficher plusieurs fois un tableau donc je voulais simplifier mon programme par l utilisation de void affichage(int tableau [100][100], int n,int m)

    Mais le probleme est que je n arrive pas a bien utiliser void,j ai lu plein de tutoriel mais je n arrive tjr pas a resoudre mon probleme
    Est ce que qq1 pourrait m aider a modifier mon code en mettant la fonction void en en tete de programme???

    D avance merci a tous, le code d affichage commence a la ligne 38

    Voici mon 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    #include <stdio.h>
    #include <stdlib.h>
     
    #define LARGEURMAX 100
    #define LONGEURMAX 100
     
     
    int main()
    {
        int n,m,i,j,f,x,y;                                       // définition de variable et du tableau
        int tableau [LARGEURMAX][LONGEURMAX];
     
     
     
        printf("== TOUT NOIR OU TOUT BLANC == \n\n");
        printf("Entrez le nombres de lignes compris entre 1 et 100 : ");   //saisie de n
        scanf("%d", &n);
        while (n>100 || n<1)
        {
            printf("HORS LIMITES donnez n entre 1 et 100 : ");    //boucle afin d'avoir un n entre 0 et 100
            scanf("%d", &n);
     
        }
     
     
        printf("Entrez le nombre le colonnes compris entre 1 et 100:");     //saisie de m
        scanf("%d", &m);
        while (m>100 || m<1 )
        {
            printf("HORS LIMITES donnez m entre 1 et 100 : ");   //boucle afin d'avoir un m entre 0 et 100
            scanf("%d", &m);
        }
     
     
        system("cls"); //efface l ecran
     
     
        for (i = 0 ; i < n+1 ; i++) //affiche chaque lignes du tableau
        {
            for (j = 0 ; j < m+1; j++) //affiche chaque colonnes du tableau
            {
     
                tableau [0][j]=j;
                tableau [i][0]=i;
                tableau[i+1][j+1]=(rand()%1);//choisit un nombre au hasard entre 1 et 2 le tout moins 1 pour avoir un rand entre 0 et 1
                printf("%d",tableau [i][j]);
            }
            printf("\n");
     
        }
     
        printf("\n");
     
        printf("Entrez la colonne que vous souhaitez choisir : ");
        scanf("%d", & x);
        printf("\nEntrez la ligne que vous souhaitez choisir : ");
        scanf("%d", & y);
     
     
        //séquence 1
        {
            if (tableau[x][y]==0)
                tableau[x][y]=1;
            else tableau[x][y]=0;
        }
     
        {
            if (tableau[x+1][y]==0)
                tableau[x+1][y]=1;
            else tableau[x+1][y]=0;
        }
     
        {
            if (tableau[x-1][y]==0)
                tableau[x-1][y]=1;
            else tableau[x-1][y]=0;
        }
     
        {
            if (tableau[x][y+1]==0)
                tableau[x][y+1]=1;
            else tableau[x][y+1]=0;
        }
     
        {
            if (tableau[x][y-1]==0)
                tableau[x][y-1]=1;
            else tableau[x][y-1]=0;
        }
     
     
     
        //fin séquence 1
     
        system ("cls");
        for (i = 0 ; i < n+1 ; i++) //affiche chaque lignes du tableau
        {
            for (j = 0 ; j < m+1; j++) //affiche chaque colonnes du tableau
            {
     
                tableau [0][j]=j;
                tableau [i][0]=i;
     
     
                printf ("%d",tableau [i][j]);
            }
            printf("\n");
        }
     
     
         printf("\n");
     
        printf("Entrez la colonne que vous souhaitez choisir : ");
        scanf("%d", & x);
        printf("\nEntrez la ligne que vous souhaitez choisir : ");
        scanf("%d", & y);
     
     
     
     
     
     
     
     
     
          //séquence 1
        {
            if (tableau[x][y]==0)
                tableau[x][y]=1;
            else tableau[x][y]=0;
        }
     
        {
            if (tableau[x+1][y]==0)
                tableau[x+1][y]=1;
            else tableau[x+1][y]=0;
        }
     
        {
            if (tableau[x-1][y]==0)
                tableau[x-1][y]=1;
            else tableau[x-1][y]=0;
        }
     
        {
            if (tableau[x][y+1]==0)
                tableau[x][y+1]=1;
            else tableau[x][y+1]=0;
        }
     
        {
            if (tableau[x][y-1]==0)
                tableau[x][y-1]=1;
            else tableau[x][y-1]=0;
        }
     
     
     
        //fin séquence 1
     
        system ("cls");
        for (i = 0 ; i < n+1 ; i++) //affiche chaque lignes du tableau
        {
            for (j = 0 ; j < m+1; j++) //affiche chaque colonnes du tableau
            {
     
                tableau [0][j]=j;
                tableau [i][0]=i;
     
     
                printf ("%d",tableau [i][j]);
            }
            printf("\n");
        }
     
     
        return 0;
    }

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    void veut simplement dire que la fonction ne retourne rien. Je ne comprend pas vraiment ce qui te pose problème ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Le soucis est le suivant, je veux simplifier mon code.
    Regarde ce bout de 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
     
        for (i = 0 ; i < n+1 ; i++) //affiche chaque lignes du tableau
        {
            for (j = 0 ; j < m+1; j++) //affiche chaque colonnes du tableau
            {
     
                tableau [0][j]=j;
                tableau [i][0]=i;
                tableau[i+1][j+1]=(rand()%1);//choisit un nombre au hasard entre 1 et 2 le tout moins 1 pour avoir un rand entre 0 et 1
                printf("%d",tableau [i][j]);
            }
            printf("\n");
     
        }

    Il se repetera X fois dans le programme, donc pour simplifier le programme je me posais la question si je pouvais le fixer en tant que fonction void affichage qu apres je pourrais appeler dans mon code pas affichage ();

    Donc si qq1 pouvait me dire comment mettre mon bout de code dans une fonction que je mettrais dans mon code afin de simplifier et de pouvoir l appeler en temps voulu par affichage();

    Si vous pouviez modifier mon code initial pour implanter le void ca m aiderait enormement

    Encore merci a tous

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void affichage(int _tableau [LARGEURMAX][LONGEURMAX], int _lignes,int _colonnes)
    As-tu fais au - 1 essai?
    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tableau [0][j]=j;
    tableau [i][0]=i;
    Ces deux lignes pourraient être fait dans 2 boucles à part, cela éviterait de le faire _lignes*_colonnes fois ces affectations alors que tu n'a besoin de le faire que _lignes + _colonnes fois.
    Enfin, ton test dans le for sur les indices n'est pas correcte dès que la dimension saisie est 99.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    J'ai donc placé la fonction void dans mon code mais lors de la compilation il y a des erreurs.
    Qq1 pourrait m aider pour avancer
    Merci a tous

    Voici mon 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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    #include <stdio.h>
    #include <stdlib.h>
     
    #define LARGEURMAX 100
    #define LONGEURMAX 100
     
     
     
    void affichage (int tableau [LONGEURMAX][LARGEURMAX], int n, int m)
     
     
    {
        for (i = 0 ; i < n+1 ; i++) //affiche chaque lignes du tableau
        {
            for (j = 0 ; j < m+1; j++) //affiche chaque colonnes du tableau
            {
     
                tableau [0][j]=j;
                tableau [i][0]=i;
                tableau[i+1][j+1]=(rand()%1);//choisit un nombre au hasard entre 1 et 2 le tout moins 1 pour avoir un rand entre 0 et 1
                printf("%d",tableau [i][j]);
            }
            printf("\n");
        }
    }
     
     
     
     
     
        int main()
        {
            int /*n,m,*/i,j,f,x,y;                                       // définition de variable et du tableau
            //int tableau [LARGEURMAX][LONGEURMAX];
     
     
     
     
            printf("== TOUT NOIR OU TOUT BLANC == \n\n");
            printf("Entrez le nombres de lignes compris entre 1 et 100 : ");   //saisie de n
            scanf("%d", &n);
            while (n>100 || n<1)
            {
                printf("HORS LIMITES donnez n entre 1 et 100 : ");    //boucle afin d'avoir un n entre 0 et 100
                scanf("%d", &n);
     
            }
     
     
            printf("Entrez le nombre le colonnes compris entre 1 et 100:");     //saisie de m
            scanf("%d", &m);
            while (m>100 || m<1 )
            {
                printf("HORS LIMITES donnez m entre 1 et 100 : ");   //boucle afin d'avoir un m entre 0 et 100
                scanf("%d", &m);
            }
     
     
            system("cls"); //efface l ecran
     
     
    /////mettre affiche
            affichage ();
     
     
     
            printf("\n");
     
            printf("Entrez la colonne que vous souhaitez choisir : ");
            scanf("%d", & x);
            printf("\nEntrez la ligne que vous souhaitez choisir : ");
            scanf("%d", & y);
     
     
            //séquence 1
            {
                if (tableau[x][y]==0)
                    tableau[x][y]=1;
                else tableau[x][y]=0;
            }
     
            {
                if (tableau[x+1][y]==0)
                    tableau[x+1][y]=1;
                else tableau[x+1][y]=0;
            }
     
            {
                if (tableau[x-1][y]==0)
                    tableau[x-1][y]=1;
                else tableau[x-1][y]=0;
            }
     
            {
                if (tableau[x][y+1]==0)
                    tableau[x][y+1]=1;
                else tableau[x][y+1]=0;
            }
     
            {
                if (tableau[x][y-1]==0)
                    tableau[x][y-1]=1;
                else tableau[x][y-1]=0;
            }
     
     
     
            //fin séquence 1
     
            system ("cls");
            for (i = 0 ; i < n+1 ; i++) //affiche chaque lignes du tableau
            {
                for (j = 0 ; j < m+1; j++) //affiche chaque colonnes du tableau
                {
     
                    tableau [0][j]=j;
                    tableau [i][0]=i;
     
     
                    printf ("%d",tableau [i][j]);
                }
                printf("\n");
            }
     
     
            printf("\n");
     
            printf("Entrez la colonne que vous souhaitez choisir : ");
            scanf("%d", & x);
            printf("\nEntrez la ligne que vous souhaitez choisir : ");
            scanf("%d", & y);
     
     
     
     
     
     
     
     
     
            //séquence 1
            {
                if (tableau[x][y]==0)
                    tableau[x][y]=1;
                else tableau[x][y]=0;
            }
     
            {
                if (tableau[x+1][y]==0)
                    tableau[x+1][y]=1;
                else tableau[x+1][y]=0;
            }
     
            {
                if (tableau[x-1][y]==0)
                    tableau[x-1][y]=1;
                else tableau[x-1][y]=0;
            }
     
            {
                if (tableau[x][y+1]==0)
                    tableau[x][y+1]=1;
                else tableau[x][y+1]=0;
            }
     
            {
                if (tableau[x][y-1]==0)
                    tableau[x][y-1]=1;
                else tableau[x][y-1]=0;
            }
     
     
     
            //fin séquence 1
     
            system ("cls");
            for (i = 0 ; i < n+1 ; i++) //affiche chaque lignes du tableau
            {
                for (j = 0 ; j < m+1; j++) //affiche chaque colonnes du tableau
                {
     
                    tableau [0][j]=j;
                    tableau [i][0]=i;
     
     
                    printf ("%d",tableau [i][j]);
                }
                printf("\n");
            }
     
     
            return 0;
        }

  6. #6
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2008
    Messages : 242
    Points : 296
    Points
    296
    Par défaut
    Il faut que tu déclares toutes les variables que tu utilises dans ta fonctions.
    Sauf si elles sont passé en paramètre biensûr :-)

    Donc déclare i et j, ca sera mieux je pense :-)

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

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