Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1452 connectés 

  FORUM HardWare.fr
  Emploi & Etudes
  Aide aux devoirs

  [INF] projet en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[INF] projet en C

n°3619123
eyeshield2​12
yop!
Posté le 01-12-2011 à 11:14:16  profilanswer
 

Bonjour à tous,
 
Je suis en premiere année de license, et pour la fin de mon semestre, je dois réaliser un projet qui est le tout noir tout blanc. Actuellement, il n'est pas sous forme graphique donc c'est que des 1 et des 0, et le probleme c'est qu'il y a quelques défauts et je n'sais pas pourquoi...Quand je choisi la taille du tableau , si je met 10x10, ça marche pas, il me semble que 7x7 non plus... alors que le reste fonctionne...donc si quelqu'un peut méclaircir...
 
voila le programme :  
 
#include <stdio.h>
 
 
#define N 100
#define NOIR 0
#define BLANC 1
 
void remplirTableau (int tab[N+2][N+2]) {
   int i;
   int j;  
   int c;
   int l;
 
printf("entrez le nombre de colonne : " );
scanf("%d", &c);
printf("entrez le nombre de ligne : " );
scanf("%d", &l);
 
 
for(i=0;i<=l-1;i++) {
   for(j=0;j<=c-1;j++) {
     tab[i][j]=NOIR;
   }
}
 
}
 
void afficherTableau (int tab[N+2][N+2]) {
   int i;
   int j;
   int c;
   int l;
 
 
for(i=0;i<=l-1;i++) {
    for(j=0;j<=c-1;j++) {
      printf(" %d ", tab[i][j]);
    }
     printf("\n" );
}
 
}
 
 
void clictab(int tab[N+2][N+2]) { /*clictab=clique sur le tableau graphique*/
   int ligne;  
   int colonne;
   int i,j;
   int c,l;  
 
 
printf ("une ligne ? " );
scanf("%d", &ligne);
printf("une colonne ? " );
scanf("%d", &colonne);
 
for(i=0;i<=l-1;i++) {
   for(j=0;j<=c-1;j++) {
     if (tab[ligne-1][colonne-1] == NOIR) {
        tab[ligne-1][colonne-1]=BLANC;
        tab[ligne-2][colonne-1]=BLANC;
        tab[ligne][colonne-1]=BLANC;
        tab[ligne-1][colonne-2]=BLANC;
        tab[ligne-1][colonne]=BLANC;
     }
     else {
        tab[ligne-1][colonne-1]=NOIR;  
        tab[ligne-2][colonne-1]=NOIR;
        tab[ligne][colonne-1]=NOIR;
        tab[ligne-1][colonne-2]=NOIR;
       tab[ligne-1][colonne]=NOIR;
    }
   }
 }
}
 
int main (void) {
   int tab[N+2][N+2];
   int i,j,l,c;
 
remplirTableau(tab);
afficherTableau(tab);
 
for(i=0;i<=l-1;i++) {
    for(j=0;j<=c-1;j++) {
     if(tab[i][j]==NOIR) {
            clictab(tab);
            afficherTableau(tab);
     }
    }
 }
return 0;
 
}
 
 
voila, j'espere que quelqu'un pourra m'aider

mood
Publicité
Posté le 01-12-2011 à 11:14:16  profilanswer
 

n°3621384
eyeshield2​12
yop!
Posté le 03-12-2011 à 21:43:47  profilanswer
 

personne ?

n°3621549
facile
Posté le 03-12-2011 à 23:03:38  profilanswer
 

Je ne sais pas quel IDE tu utilises, mais celui-ci intègre certainement un débogueur, donc utilise le.
Met des breakpoints aux endroit clés, lance le programme en mode debug et utilises l'explorateur de variable, le traceur de pile d'appel pas à pas pour voir là ou ça coince.

n°3621818
Totoche17
Posté le 04-12-2011 à 10:05:44  profilanswer
 


Après un rapide coup d’œil à ton code , on voit qu'il y a encore beaucoup de boulot, faut vraiment que tu revois toutes les bases de la programmation (notamment les notions de variables locales, globales).
 
Pourquoi redéfinir en variables locales dans toutes tes fonctions les variables l et c ?

n°3622657
boblenain2​00
Posté le 04-12-2011 à 19:47:37  profilanswer
 

1/ C'est pas la bonne catégorie, va en cat Programmation
2/ Utilise la balise [ code] [ /  code]
3/ La fonction clictab utilise les variables l et c non initialisées, ca va donner des résultats amusants ...
4/ ...etc..

n°3641081
Alameda
Posté le 22-12-2011 à 10:48:10  profilanswer
 

La chose qui choque le plus dans ton code c'est ton absence totale d'assignation de variable
 

Code :
  1. void clictab(int tab[N+2][N+2]) { /*clictab=clique sur le tableau graphique*/
  2.    int ligne; 
  3.    int colonne;
  4.    //Compteur boucle for (non obligatoire)
  5.    int i,j;
  6.    // Définition des variables de fin des for
  7.    int c,l; 
  8. printf ("une ligne ? " );
  9. scanf("%d", &ligne);
  10. printf("une colonne ? " );
  11. scanf("%d", &colonne);
  12. //Mais.... l et c n'ont pas de valeurs définis tu vas donc prendre la valeur de l'emplacement mémoire "aléatoire" pour ces variables (incohérent au passage)
  13. for(i=0;i<=l-1;i++) {
  14.    for(j=0;j<=c-1;j++) {
  15.      if (tab[ligne-1][colonne-1] == NOIR) {
  16.         tab[ligne-1][colonne-1]=BLANC;
  17.         tab[ligne-2][colonne-1]=BLANC;
  18.         tab[ligne][colonne-1]=BLANC;
  19.         tab[ligne-1][colonne-2]=BLANC;
  20.         tab[ligne-1][colonne]=BLANC;
  21.      }
  22.      else {
  23.         tab[ligne-1][colonne-1]=NOIR; 
  24.         tab[ligne-2][colonne-1]=NOIR;
  25.         tab[ligne][colonne-1]=NOIR;
  26.         tab[ligne-1][colonne-2]=NOIR;
  27.        tab[ligne-1][colonne]=NOIR;
  28.     }
  29.    }
  30. }
  31. }


 
Je n'ai relevé que ça mais c'est une des plus grosses erreurs que j'ai vu.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Emploi & Etudes
  Aide aux devoirs

  [INF] projet en C

 

Sujets relatifs
[OFFFRE-CDI] Ingénieur R&D C++ expérimenté chez GolaemRecherche un stage fin d'étude chef de projet
[Sondage] Projet étudiant sur l'entreprise Ben & Jerry's[STAGE] Assistant chef de projet web H/F
[CDI Marseille]: Développeur orienté objet, poste sur AGL propriétaireBesoin d'aide pour un projet en entrepreunariat
Stagiaire C# - Miami BeachCDI - Développeur d'application Visual C++
Management de projet 
Plus de sujets relatifs à : [INF] projet en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR