begin process at 2012 02 10 20:57:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Algorithme

 > 

Maths

 > 

pb d'exécution pgm c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb d'exécution pgm c++

jeudi 18 décembre 2008 à 12:29:36 | pb d'exécution pgm c++

malikach

Bonjour,
j'ai un pb avec mon pgm C++,
j'ai fait un pgm qui lit à partir d'un fichier dans un tableau , le tableau est à deux dimensions déclaré en utilisant new/delete, le problème c' quand je travaille avec un petit fichier ( une centaine de lignes) tout fonctionne correctement mais qd il s'agit d'un millier de lignes, un message d'erreur s'affiche et le pgm se ferme.

je me suis dis c' peut être un pb d'allocation de mémoire et j'ai essayé avec malloc/free , mais c' la même chose.

PLEASE HELP!!  


A force de forger, on devient forgeron
jeudi 18 décembre 2008 à 13:41:11 | Re : pb d'exécution pgm c++

fregolo52

Membre Club
Sans code c'est dur !!
Mais si tu mets tout ton code ca risque d'être lourd à regarder. Donc essaie de mettre les morceaux qui pourraient nous guider (allocation mémoire, lecture du fichier ..).

Peux-tu nous dire quel est le message d'erreur ? Access Violation ?
vendredi 26 décembre 2008 à 10:49:44 | Re : pb d'exécution pgm c++

malikach


Bonjour,
en fait une petite fenêtre windows s'affiche contenant le message suivant  :

"exercice.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.
Veuillez signaler ce problème à Microsoft
nous avons créer un rapport d'erreur que vous pouvez nous envoyer. Nous traiterons ce rapport confidentiellement et anonymement
Pour afficher les données de ce rapport d'aerrues, Cliquez ici" 

Mon programme comporte au moins une centaine de lignes, voici un bout concernant la lecture des données :

#include <fstream.h>
#include <iostream.h>
#include <math.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>

void main(int argc, char *argv[])
 {
  int nbIndivLig, nbIndivCol, nbClasseLig, nbClicMax,nbClicMin, nbClasseCol, i, k, j;
  float generer(float **DD, FILE *alphaFile, FILE *opFile, FILE *tabFile,float **DDD, int nbIndiv,    int   nbClicMin, int nbClicMax, int nbClasseLig, int nbClasseCol);
  void transposee(int lig,int col,float **Tab,float **transposeeTab,FILE *TabFile);

  float tt;
  FILE *ipFile;
  FILE *alphaLigne;
  FILE *alphaColonne;
  FILE *opFile;
  FILE *tabFile;
  float *tab;
  float **DD;
  float **DDD;
  float **DDDD;
  float **DDDtranspo;

  if ((argc!=10))
    {
      printf("format: artificialData ipFile alphaLigne alphaColonne opFile tabFile nbIndivLig nbIndivCol nbClicMin nbClicMax\n");
      exit(1);
    }

  argv++;
  cout<<"Input File = "<<*argv << endl;
  if ((ipFile=fopen(*argv,"r"))==NULL)
    {
      printf("Error: can't open input file %s\n",*argv);
      exit(1);
    }
 
  argv++;
  cout<<"alphaLigne File = "<<*argv << endl;
  if ((alphaLigne=fopen(*argv,"r"))==NULL)
    {
      printf("Error: can't open alphaLigne file %s\n",*argv);
      exit(1);
    }

  argv++;

  cout<<"alphaColonne File = "<<*argv << endl;
  if ((alphaColonne=fopen(*argv,"r"))==NULL)
    {
      printf("Error: can't open alpha file %s\n",*argv);
      exit(1);
    }

  argv++;

  cout<<"Output File  = "<<*argv << endl;

  // fichier des résultats
 
  if ((opFile=fopen(*argv,"w"))==NULL)
    {
      printf("Error: can't open output file %s\n",*argv);
      exit(1);
    }

  argv++;
  cout<<"Fichier de sortie  = "<<*argv << endl;

  // deuxième fichier des résultats
 
  if ((tabFile=fopen(*argv,"w+"))==NULL)
    {
      printf("Error: can't open tabFile file %s\n",*argv);
      exit(1);
    }

  argv++;
  nbIndivLig=atoi(*argv);
  cout<<"nombre d'individus sur les lignes = "<<nbIndivLig << endl;
  argv++;
  nbIndivCol=atoi(*argv);
  cout<<"nombre d'individus sur les colonnes = "<<nbIndivCol << endl;
 
  argv++;
  nbClicMin=atoi(*argv);
  cout<<"Nombre minimal de clics = "<<*argv << endl;
 
  argv++;
  nbClicMax=atoi(*argv);
  cout<<"Nombre maximal de clics = "<<*argv << endl;

   // read number of data points
  if(fscanf(ipFile,"#nbClasseLig=%d nbClasseCol=%d\n",&nbClasseLig,&nbClasseCol)!=2)
  {
      printf("Format error in first line\n");
      exit(1);
  }
  printf("nbClasseLig=%d nbClasseCol=%d\n",nbClasseLig,nbClasseCol);

  tab=(float *)calloc(nbClasseCol,sizeof(float ));

  DD=(float **)calloc(nbClasseLig,sizeof(float *));
  for (k=1; k<=nbClasseLig; k++)
      DD[k]=(float*)calloc(nbClasseCol,sizeof(float));


  for(i=1;i<=nbClasseLig;i++)  
    for (j=1; j<=nbClasseCol; j++)
  fscanf(ipFile,"%f ",&(DD[i][j]));

mon problème c'est quand je travaille sur un fichier d'entrée de taille importante ou aussi quand les variables nbIndivLig=100 nbIndivCol=100, ça fonctionne mais quand nbIndivLig=300 nbIndivCol=300 le programme se ferme. Je ne comprends pas pq ça fonctionne pour 100 lignes par exemple et pas pour 1000. 



A force de forger, on devient forgeron
vendredi 26 décembre 2008 à 11:31:41 | Re : pb d'exécution pgm c++

malikach

Ce qui m'étonne ce que parfois le pgm fonctionne pour nbIndivLig=200 nbIndivCol=2000 mais pour  nbIndivLig=100000 nbIndivCol=100000
le message qui s'affiche c'est :

"L'instruction "0x004019a7" emploie l'adresse mémoire "0x00000004". la mémoire ne peut pas être "written". cliquez sur OK pour terminer le programme.
Cliquez sur Annuler pour déboguer le programme



Cette discussion est classée dans : fichier, pb, tableau, pgm, exécution


Répondre à ce message

Sujets en rapport avec ce message

pb avec tableau et fichier texte [ par krolanta ] Voila mon pb é que g un fichier texte avec des coordonnées et que je voudrais mettre chaque coordonnées ds une case du tableau.En fait ca revient a li pb classes avec tableau [ par JediMaster ] je voudrais crée une classe comme celle ci avec un tableau qui aurit sa taille qui varirais selon l'objet j' ai donc fait un construteurclass classe{ Pb de reallocation d'un tableau de chaine de caracteres [ par kobee12 ] J'ai un petit probleme. En effet j'ai un tableau defini de la maniere suivante : char* tab[12];Je charge des chaines de caracteres dans mon tableau. E fichier txt à un tableau [ par angereveur ] comment on peut convertir simplement un fichier texte comprenand des mesure à un tableau deux dimensions??? pb avec fichier texte [ par angereveur ] voilà je doit gerez un multimètre avec un pc, et lem utltimètre envoi tte les donnée sur le pc et je doit gerer c donnée ds un fichier texte, mé j'aid Gros Pb Visual C++ 6.0 [ par nathalieJ ] Lors de l'installation de MS Visual Studio 6.0, j'ai un fichier qui est apparamment "corrupted", malgré les réinstallations multiples, l'installation pb de taille de fichier avec dev c++ [ par Freeman2222 ] Bonjour ! Je débute en cpp et j'ai pris dev-cpp. J'ai fait une petit prog d'une vingtaine de lignes avec comme seule include iostream. Le pb c'est qu' PB ifstream [ par ifren ] j'ai un petit problemle voilaifstream in("fichier.txt");char v_word[256];in >> v_word >> v_word >> v_word;//je reccupere le v_word; et puis j'ai envi Tableau multidimensionel et fichiers [ par AngeloVivaldi ] slt à tous.Voila, je voudrai mettre dans un tableau multidimensionel chaque ligne d'un fichier, puis modifier une ligne du tableau pour le réécrire da vc++ : pb d'ecriture dans fichier taille sup a prévu [ par adidmamah ] g un groooooo pb qui m'épate sincerementj'ecris dans un fichier en utilisant un structure : struct data { char nom[30];


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales