begin process at 2012 05 29 07:25:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Grave problème de lecture d'un tableau string


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

Grave problème de lecture d'un tableau string

dimanche 1 juin 2008 à 21:11:01 | Grave problème de lecture d'un tableau string

alincoln54

Bonjour à tous,

Le code suivant ne fonctionne pas (BCB C++) :

#include <vcl.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <cstring.h>
#include <iostream.h>
#pragma hdrstop


#pragma argsused
int main(int argc, char* argv[])
{

//vecteurs d'entrée
int const n = 50;
string InputVector[n] = {"0", "1e-3", "2e-5", "4e-3", "7e-7", "6e-4",
"1", "4e-3", "66e-5", "43e-3", "78e-7","12e-4","2", "2e-3", "10e-5", "20e-3", "90e-7", "70e-4"};

//vecteur de sortie
string OutputVector_1[6];
string OutputVector_2[6];
string OutputVector_3[6];

string CuVa = "";

    int p = -1;
    int r = 0;

//lecture du vecteur d'entrée

        for (int i=0; i <= n-1; i++)
        {

                CuVa = InputVector[i];

                cout << CuVa << "\t";

                if (CuVa == "0" || CuVa == "1" || CuVa == "2")
                {
                p++;
                r = 0;
                }

                if (p==0)
                OutputVector_1[r] = CuVa;
                if (p==1)
                OutputVector_2[r] = CuVa;
                if (p==2)
                OutputVector_3[r] = CuVa;

                r++;
            
        }

        // ecriture matricielle du vecteur de sortie

        int j = 0;
        for (int i=0; i <= p; i++)
        {
            j = 0;
            while(j <= 6)
            {

                if (i==0)
                {
                ShowMessage("val 1");
                CuVa = OutputVector_1[j];
                cout << CuVa;

                }
                if (i==1)
                {
                ShowMessage("val 2");
                CuVa = OutputVector_2[j];
                cout << CuVa;
                }
                if (i==2)
                {
                ShowMessage("val 3");
                CuVa = OutputVector_3[j];
                cout << CuVa;
                }

             //cout << CuVa;

             if (j != 6    )
             cout << "\t";
             else
             cout << "\n";

             j++;
            }
            

getch();

}


Ce code permet d'effectuer la chose suivante. Etant donné un vecteur string d'entrée qui contient un certain nombre d'éléments dont les éléments "0" "1" et "2", le but est de pouvoir classer ce vecteur dans trois vecteurs de sortie tel que chaque vecteur de sortie commence par l'un des éléments "0" "1" et "2".
Le problème est que la séquence de restitution des données "classées" ne fonctionne pas puisque les éléments restitués sont tous inexistants. On a en effet la sortie suivante :

0 1e-3 2e-5 4e-3 7e-7 6e-4 1 4e-3 66e-5 43e-3 78e-7 12e-4 2 2e-3 10e-5 20e-3 90e-7 70e-4

pour le premier cout - tout a fait normal puisque l'on relit le vecteur d'entrée - et seulement :

2 2e-3 10e-5 20e-3 90e-7 70e-4

pour la suite, alors que l'on devrait avoir :

0 1e-3 2e-5 4e-3 7e-7 6e-4
1 4e-3 66e-5 43e-3 78e-7 12e-4
2 2e-3 10e-5 20e-3 90e-7 70e-4

Grâce au ShowMessage, il est possible de vérifier que les trois vecteurs de sortie sont lus.

C'est certainement une erreur bidon, mais je ne vois pas du tout où elle pourrait être.

Je vous remercie pour votre aide.


Cette discussion est classée dans : string, cout, if, cuva, outputvector


Répondre à ce message

Sujets en rapport avec ce message

Visual C++ Free() [ par PRZYBYLSKI ] #include #include #include "stdafx.h"Question au Pro?Qu'es qui est faux docteurArrivé à free ça bombe#include <io Vector affichage [ par heleos ] Slt tout le monde, voila j ai un probleme avec ceci : int main() {    std::vector x(1);          int choix;       disMen STL: Problème stockage dans un container multimap [ par elnino67 ] Bonsoir,Nous utilisons un programme ayant recours à une multimap utilisant: [code] multimap m;[\CODE]en clé: le champ nom d'une classe Client, et en o triangularisat [ par desco182 ] Salut a quiconque  sur le forum qui aimerait porter des corrections svp#include#include#include#include#define max 10float A[max][max], B[max], problème de IF [ par ichigoZ710 ] Bonjour,je voulais avoir votre avis sur une partie de mon code qui fait des choses vraiment bizarre...disons que la condition d'un if ne se fait pas . Premier Poste, premier code :p [ par Locarre ] Bonsoir à tous, je me suis au C++ depuis très peu de temps, voila un petit code source, et j'aimerais bien que vous me disiez si celui ci par sur de b Palindrome c++ [ par bretdu55 ] Bonjour, voila je doit faire un programme qui vérifie si le mot est un palindrome ou non, et qui retourne un booléen. Voila mon prog, si quelqu'un peu Destructeur intempestif [ par mliuej ] Bonsoir, J'ai un nouveau problème dans mon application : lorsque je crée un objet, plusieurs destructeurs s'enclenchent sans que j'en aie donné l'ins Traitement caractères [ par baptchr55 ] Bonjour à tous, je sollicite à nouveau votre aide suite à un problème de traitement de caractères... Je reçoit une trame (par le biais de sockets) et Segmentation fault sur un tableau de char [ par MaxSoldier ] Bonsoir tout le monde !Je me suis mis au C/C++ sous linux il y a quelques jours et j'ai de nombreuses erreur de dépassement de tampon (segmentation fa


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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,640 sec (3)

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