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 :

encore un problème d'exercice


Sujet :

C

  1. #1
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut encore un problème d'exercice
    Bonjour

    Décidément j'ai beaucoup de mal dans mon apprentissage avec le langage.
    Je n'arrive même pas à afficher un tableau simple.
    pourquoi dans ce programme:

    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
    #include<stdio.h>
    #include<stdlib.h>
     
     main()
    {
    	int[A];
        int I;
     
    for(I=0;I<5;I++)
    printf(%d",A[I]);
     
    	   system("PAUSE");
    	   return 0;
     
    	   printf("\n");
     
    }

    ça ne compile pas et ça me donne ce code d'erreur :
    Erreur 1 error C2143: erreur de syntaxe*: absence de ';' avant '[' c:\documents and settings\yannick\mes documents\visual studio 2005\projects\testtableau\testtableau\main.c 6

    Je ne comprends pas pourquoi ?

  2. #2
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Salut,

    la coloration syntaxique du forum te donne une indication

  3. #3
    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
    Un tableau A de int ne se définit pas comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(I=0;I<5;I++)
    printf(%d",A[i]);
    %d est le format. C'est une chaîne de caractères. Il doit être mis entre ""
    Le tableau A n'a pas été initialisé avant son affichage et contient n'importe quoi!

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    La coloration syntaxique, c'est pour la 2eme erreur (pas encore détectée par le compilateur) à cause de la 1ere erreur (détectée par le compilateur).

    Tu as une idée de ce que cela peut être comme variable ce que tu déclares ligne 6 ?
    [Edit] Damned, grilled
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    ça marche mieux 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
    #include<stdio.h>
    #include<stdlib.h>
     
     
    int t[5];
     
     
     main()
    {
    	int t[5]={0,1,2,3,4};
        int I;
     
    for(I=0;I<5;I++)
    printf("%d\n",t[I]);
     
     
    	   system("PAUSE");
    	   return 0;
     
    	   printf("\n");
     
    }

    Par contre je comprends pas ce que vous voulez dire par coloration syntaxique ?

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Si tu regardes ton 1er post, tu vois que la ligne "return 0;" par exemple est en rouge.

    La coloration syntaxique du forum fait que le rouge est pour les chaines de caractères (regarde ton dernier post avec la ligne system("PAUSE"); par exemple). Si une ligne qui n'est pas une chaine de caractères (return 0) apparait en rouge, c'est que tu as loupé un caractère " (double quote) quelque part.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Je dois afficher un tableau de type réel à deux dimensions sous forme de 4 lignes et 4 colonnes

    Voilà 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
    #include<stdio.h>
    #include<stdlib.h>
     
     
    int main()
    {
     
    	float t[4][4]={
    		{1,2,3,4},
    		{5,6,7,8},
    		{9,10,11,12},
    		{13,14,15,16}
    	};
    int I,J;
     
    printf("tableau donne:\n\n");
     
    for(I=0;I<4;I++)
    {
    	for(J=0;J<4;J++)
    		printf("%f    ",t[I][J]);
    	printf("\n\n");
    }
     
    system("PAUSE");
    return 0;
     
    }

    Le problème c'est le décalage avec les unités et les dizaines voire même les centaines

    Je peux enlever ce décalage ?

  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
    précise le format que tu utilises pour afficher tes float au lieu de laisser les paramètres par défaut.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("%8.3f",t[I][J]);
    Voir la doc de printf

  9. #9
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    ça marche super mais je suis vraiment débutant

    Tu peux m'indiquer où se trouve la doc sur printf ?

  10. #10
    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
    ici par exemple

  11. #11
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    Je te remercie vraiment de ton aide et de ta disponibilité

    C'est normal que j'ai l'impression de ne pas avancer et de mal comprendre ? Peut être que je ne suis pas apte pour apprendre un langage informatique où faut il que je prenne beaucoup de temps pour arriver à comprendre les problèmes ?

    Peux tu me donner quelques conseils pour mieux arriver à trouver les solutions ?

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

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 400
    Par défaut
    Franchement, je dirais que le C n'est pas un bon premier langage informatique.

    Je serais plutôt du genre à conseiller de commencer par un langage où l'on est plus encadré, comme C#.
    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.

  13. #13
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    J'ai pas vraiment le choix . Je suis des cours chez educatel et ils me font apprendre le C et plus tard Unix .
    Par contre c'est vrai que je patauge beaucoup et je suis à l'écoute de tout conseil pour mieux aborder ce langage

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 129
    Par défaut
    Perso je trouve que le C est plutôt facile à assimiler. Les lignes de codes sont logiques et tout se déroule du haut vers le bas.

    Pour progresser il faut coder en commençant par des choses simples.

    Je ne sais pas quand tu as commencé mais c'est pas magique, il faut apprendre les syntaxe de base comme déclarer une variable ....

    De plus quand c'est case sensitive donc si tu déclare une variable "i" tu ne peux pas y faire référence avec "I".

    Bref ça m'étonne de voir quelqu'un faire des boucles et des printf sans savoir déclarer une variable o_O

  15. #15
    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
    Peut être que je ne suis pas apte pour apprendre un langage informatique où faut il que je prenne beaucoup de temps pour arriver à comprendre les problèmes ?
    Ca dépend des personnes.
    Certains se font vite à "l'esprit" de la programmation, d'autres demandent plus de temps avant que se produise un "déclic". Il ne faut pas se décourager.
    Il est normal au début de faire beaucoup d'erreurs. Les erreurs sont très instructives. L'essentiel est d'en tirer profit en réfléchissant sur la cause de l'erreur et en la comprenant. Ne pas se contenter d'une solution fournie par un tiers mais l'étudier de façon critique.
    A ne pas faire, contourner les problèmes que tu rencontres en adoptant des solutions mal fichues simplement parce que tu sais les coder, mais les résoudre correctement.

    Le C a sa logique. Elle est masquée au début par sa syntaxe un peu rebutante, mais il faut la comprendre; elle est rigoureuse .

    De la persévérance et tu feras des progrès!

    Bon courage

  16. #16
    Membre éclairé Avatar de chicabonux
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    329
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Oise (Picardie)

    Informations forums :
    Inscription : Mai 2007
    Messages : 329
    Par défaut
    ça fait plus d'un mois que j'ai commencé

    Je sais déclarer une variable ,pourquoi tu dis ça ? J'ai lu tout le cours qu'on m'a donné sur le C et j'ai quelques gros problèmes avec l'initialisation des tableaux ,la manipulation des fonctions et je ne comprends vraiment pas bien les types composés et la manipulation des fichiers .

    Je ne désespère pas arriver à maitriser ces problèmes

  17. #17
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Ce n'est que le début, les vrais problèmes vont venir avec la manipulation du texte, entre autres ("la hantise du pointeur"). Mais si tu ne connais aucun autre langage, peut etre que ça sera bénéfique, tout dépend comment on vous forme. Si on vous dit "ok on a vu les variables de type entier, flottant, tableaux, structures, maintenant on va voir les variables de type chaine", bein pas bon, mauvaise approche.

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

Discussions similaires

  1. Encore des problèmes avec le BDE
    Par Flint dans le forum C++Builder
    Réponses: 19
    Dernier message: 01/01/2008, 00h26
  2. Encore des problèmes de variables
    Par mat99 dans le forum Langage
    Réponses: 1
    Dernier message: 18/11/2005, 11h26
  3. [c++] second problème avec exercices du livre Big c++
    Par TERRIBLE dans le forum Contribuez
    Réponses: 6
    Dernier message: 06/11/2005, 22h07
  4. Réponses: 8
    Dernier message: 10/08/2004, 12h49
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 19h22

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