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 :

addition de deux tableaux stockés dans des fichiers


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 68
    Points : 47
    Points
    47
    Par défaut addition de deux tableaux stockés dans des fichiers
    bonjours,
    je veux faire une addition des 2 tableau chaqu'un est stocké dans un fichier sépare. donc j'ai créé une fonction qui lit le fichier et le stock dans un tableau, et une fonction qui fait l'addition.mon problème est: lorsque j’exécute la fonction liretableu une seule fois elle me rend les valeur du fichier, mais si je l’exécute 2 fois ça marche pas !

    voici le 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
    #include <Windows.h>
    #include <iostream>
    #include <string> 
    #include <stdlib.h> 
    #include <stdio.h> 
     
    using namespace std;
     
    FILE *f=NULL;
     
    int *liretableau(char nomtableau[])
    {
    int *tableau=new int;
    f=fopen(nomtableau,"r");
    if(f!=NULL) 
    {
    	int k=0;
    	while(k<14){ 
    		    fscanf(f,"%d",&(tableau[k]));
    		    k++;
    	          }  
    } 
    else{printf("erreur d'ouverture");exit(0);}
    fclose(f);
    return tableau;
    } 
     
    int *addition(int *t1,int *t2)
    {    int g=0;
    	int *resultat=new int;
         while(g<14){ 
    	resultat[g]=t1[g]+t2[g];g++;} 
     
    	return resultat;
    }
     
    void main(int argc,char **argv)
    {
    	 char nom1[60]="c:/aa1.txt",nom2[60]="c:/aa1.txt";
    	 int *t1=new int,*t2=new int,*res=new int;
     
    	 t1=liretableau(nom1);
    	 t2=liretableau(nom2);
    	 res=addition(t1,t2);
    	  for(int i=0;i<14;i++)
    	    {
    		  printf("%d\n",t1[i]);
    		} 
    system("pause");
    }

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 136
    Points
    23 136
    Par défaut
    Bonjour,



    int *tableau=new int; fais-tu du C ou du C++?

    Si tu fais du C, il faut utiliser malloc, realloc et free.
    Si tu fais du C++, il te faudra utiliser ici new [] et delete [].

    Tu n'alloues aussi qu'un seul élément pour ton tableau, tu risque donc la segfault.
    Il vaut mieux d'abord déterminer la taille de ton tableau et ensuite l'allouer.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 68
    Points : 47
    Points
    47
    Par défaut
    oui, effectivement. il suffit de faire int *tableau=new int[100] et ça marche !!

    merci bien pour l'aide !

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 23/03/2009, 19h48
  2. conception de données stockées dans des fichiers
    Par clubist dans le forum Schéma
    Réponses: 13
    Dernier message: 30/12/2008, 00h41
  3. Réponses: 13
    Dernier message: 08/07/2008, 17h20
  4. addition de nombre stocké dans des zones texte
    Par jejeman dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/07/2007, 12h11
  5. Sauvegarde de tableaux dans des fichiers
    Par Helifyl dans le forum Ada
    Réponses: 2
    Dernier message: 16/11/2006, 18h27

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