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 :

[Débutant] aide pour prog


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Par défaut [Débutant] aide pour prog
    Bonjour à tous je suis en 2 ème progra c est ma première année de C , je suis un peu bloqué dans mon code et le prof ne trouve pas la solution

    Je croie que mon code est bon du moin il compile mais quand je l execute il me tape une erreur de violation d adresse.

    Donc voila merci d avance pour votre aide .
    Fichiers attachés Fichiers attachés
    • Type de fichier : c EXO1.C (1,0 Ko, 95 affichages)

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par momocdp
    Bonjour à tous je suis en 2 ème progra c est ma première année de C , je suis un peu bloqué dans mon code et le prof ne trouve pas la solution
    Change de prof. Non seulement il enseigne qu'il faut utiliser scanf, mais il n'est pas capable de corriger les problèmes que ça pose...

    Je croie que mon code est bon du moin il compile mais quand je l execute il me tape une erreur de violation d adresse.
    Si le comportement n'est pas bon, il y a toutes les chances que le problème soit dans le code. Oui, il y a des bugs dans les compilateurs. Mais on tombe rarement dessus. Surtout quand on débute.

    Il faut passer à scanf des pointeurs sur où placer le résultat de la lecture.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf ("%f", &tab1[i][j]);
    Il faudrait aussi ajouter le code qui fait la vérification que les IO se sont bien passées.

    En passant, sauf pour des tableaux très grand, on utilise des doubles et pas des floats.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    633
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 633
    Par défaut
    Bonjour,
    Citation Envoyé par Jean-Marc.Bourguet
    En passant, sauf pour des tableaux très grand, on utilise des doubles et pas des floats.
    Et pourquoi ça ?

    Le choix entre float et double dépend de la précision désirée.

    On peut envisager de passer de double à float pour des raisons de mémoire disponible, mais si on peut se le permettre, alors dès le départ, la précision des float était suffisante.

    De tout manière, fais des tableaux encore plus grands, et tu viendras à des réels codés sur 1 octet, voire moins, en utilisant des champs de bits ?

  4. #4
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    J'ai simplifié un peu.

    Kahan discuttait cela en détail dans un fichiers disponibles sur sa page, mais je ne retrouve pas lequel.

    En résumé la conclusion était qu'en l'absence d'analyse précise -- et je connais peu de gens capables de mener une telle analyse, personellement je les comprends mais suis incapable de dire si elles ont oublié un facteur important ou non -- il faut toujours utiliser la précision la plus grande possible pour faire les calculs même si les résultats sont stockés de manière moins précise.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Par défaut
    que doie je faire pour remplacer un scanf alors et en fait j ai esseye pour l exexuter avec turbo c++, turbo c,borland c++ builder, dev c++, lcc et j ai toujours cette erreur de violation .Mais je sais vraiment pas d ou elle vient

    Merci pour les reponces

    pour la lisibilite tout a fait d'accord vais le rendre plus lisible mais bon le prof nous apprend casi rien a part printf et scanf ...

  6. #6
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Change de prof.
    tout à fait d'accord, c'est nul de sa part de ne pas voir l'adresse dans le scanf. En revanche, j'aime bien les scanf.

    Par ailleur, fait attention à l'indentation de ton code, il est quasiment linéaire et donc difficilement lisible, sans doute même pour toi.
    Par ailleurs, la majorité des accolades sont inutiles...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  7. #7
    Membre Expert

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Par défaut
    Citation Envoyé par ToTo13
    Par ailleur, fait attention à l'indentation de ton code, il est quasiment linéaire et donc difficilement lisible, sans doute même pour toi....
    Euh ça ça dépend aussi de l'éditeur utilisé. Là je l'ai ouvert avec Emacs et le code est bien indenté (sans doute même mieux que ce qu'a fait l'op).
    Ceci étant dit qques commentaires amélioreraient un peu la lisibilité. En général la syntaxe des commentaires c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /* mon joli et utile commentaire pour te signaler que j'ai pasté la trace de la compil chez moi*/
    gcc -Wall testf.c -o testf
    testf.c: In function $-1òømainòù:
    testf.c:9: warning: unused variable 'a'
    testf.c:9: warning: unused variable 'b'
    testf.c:9: warning: unused variable 'c'
    testf.c:62: warning: control reaches end of non-void function
    Pour scanf() : http://xrenault.developpez.com/tutoriels/c/scanf/
    Autre chose enfin: tu devrais vérifier le caractère entré, tu attends des "floats" mais si je rentre un char. Il se passe quoi?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Par défaut
    oki grand merci je vais esseyer de modifier tout et je vous fait suivre la suite

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Par défaut
    Voila apres avoir modifié les scanf et avoir mit mon tablo en int ca compile mais bon, je cherche toujour a limiter mon tableau au int car quand j'introduis un char ou va t'il !! donc voila je le rajoute en pièce jointe

    EXO1.C

    merci

  10. #10
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Le rouge ne suffisait pas, essayons la taille.

    Citation Envoyé par Jean-Marc.Bourguet
    Il faut passer à scanf des pointeurs sur où placer le résultat de la lecture.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf ("%f", &tab1[i][j]);

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2006
    Messages : 6
    Par défaut
    oups dsl merci dsl :/

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

Discussions similaires

  1. Question de débutant.. Aide pour picking
    Par diddy95 dans le forum GLUT
    Réponses: 1
    Dernier message: 18/01/2007, 10h31
  2. Réponses: 4
    Dernier message: 18/11/2006, 22h58
  3. [XHTML] [Débutant] Aide pour navigation avec cadres
    Par calogerogigante dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 18/06/2006, 23h43
  4. [VBA-E][débutant]aide pour macro sous excel
    Par julyBL dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 09/06/2006, 22h42
  5. [débutant] Aide pour mettre une FOREIGN KEY sur une table
    Par cauldron dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/11/2004, 17h16

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