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 :

recuper les valeurs d'une matrice


Sujet :

C

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut recuper les valeurs d'une matrice
    slt
    j'ai un probleme avec mon programme C++
    en fin je veut recuper les valeurs d'une matrice de grande taille et le ranger dans un tableau de trois valeur; tabligne, tabcolonne,tabvaleur, j'arrive que a avoir l'affcihage de la matrice , mais j n'arrive pas a recuperer les tableaux.


    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    
    // chargeurFichier.cpp : Defines the entry point for the console application.
     
    #include "stdafx.h"
    #include "stdio.h"
    #include "stdlib.h"
    #include "string.h"
    #include "conio.h"
    #define MAXSTR 11500
    #define MAXINT 50000
    #define MAXINT20000 30000
     
    char** split( char* str, char c1,char c2,char c3,char c4, char c5 )//compte le nombre d'element d'un tableau
    {
    int i=0;
    char* tmp[ MAXSTR ] ; /* 11500 colonnes max */
    int current = 0;
    tmp[current++] = str; 
     
    while( *str ) 
    {
    if ( *str == c1 || *str == c2|| *str == c3|| *str == c4|| *str == c5) 
    { i++;
    *str = '\0';
    tmp[current++] = str+1; /* on devrait vérifier si on dépasse pas 11500 */
    } 
     
    ++str;
    }
    tmp[ current ] = '\0';
    for(int j=0;j<i;j++){
    printf("%s ",tmp[j]);
     
    }
     
    printf("\n------------------------------------\n");
     
    return tmp;
    }
     
    int main(int argc, char* argv[])
    {
     
    char tmpChar[MAXSTR];
    char **chrsplitResultat;
    int tabvaleur[MAXINT];
    int tabColonne[MAXINT];
    int tabNbParLigne[MAXINT20000];
    int tabLigneViable[MAXINT20000];
    int i=0;
    int nbElEmTraite=0;
     
    FILE *fich = fopen("matrice1.txt","r+t");
    if (fich== NULL) 
    {
    fprintf(stderr,"Erreur dans l'ouverture du fichier");
    exit(-1);
    }
    else
    {
    int j=0;
    int boolFich=(fread(tmpChar,sizeof( char ), MAXSTR, fich ));
    int nbrElem=0;
     
    while(boolFich>0)
    { 
     
    chrsplitResultat=split( tmpChar, ':' ,',','(',')','\t' );
    nbrElem=atoi(chrsplitResultat[0]);
     
    printf("\n------nombre de d'element de la ligne-----------\n");
    tabNbParLigne[nbrElem]=(int)strlen(*chrsplitResultat)/2;//nombre d'élémént de la ligne
    
    printf("\n---------mumero de ligne----\n"); 
    tabLigneViable[j]=atoi(*chrsplitResultat); //numero de la ligne 
    chrsplitResultat++;
    int k=0;
     
    while(k<nbrElem && chrsplitResultat!=NULL)
    {
     
    tabColonne[nbElEmTraite]=atoi(*chrsplitResultat);//colonne
    chrsplitResultat++;
    tabvaleur[nbElEmTraite]=atoi(*chrsplitResultat);//valeur de la colonne
    
    chrsplitResultat++;
    k++;
    nbElEmTraite++;
    } 
     
    boolFich=(fread(tmpChar,sizeof( char ), MAXSTR, fich ));
    j++;
    }
    fclose(fich);
    }
    return 0;
     
    }
    
    0: (1,0) (2,0) (1332,5580) (1499,5002) (1548,5028) (1688,3778) (1814,3912) (1818,3915) (1961,3367)
    1: (0,0) (2,0) (1230,2828) (1333,5249) (1497,5361) (1549,5373) (1571,5052) (1686,4171) (1812,4302) (1819,4305) (1868,4551) (1959,3028)
    2: (0,0) (1,0) (1334,5847) (1550,4771) (1690,5451) (1820,5681)
    3: (4,0) (5,0) (1332,650) (1548,2227)
    4: (3,0) (5,0) (1333,356) (1497,2263) (1499,2331) (1549,1924)
    5: (3,0) (4,0) (1334,877) (1550,2453)
    6: (7,0) (8,0) (280,88) (473,3329) (503,5389) (1108,1438) (1355,5205) (1366,2086) (1404,290) (1405,290) (1406,290) (1434,1481)
    7: (6,0) (8,0) (471,2854) (501,5940) (884,5781) (1435,2044) (1436,2172)
    8: (6,0) (7,0) (430,4706) (493,3110) (499,5794) (1107,1727) (1120,544) (1297,182) (1365,2390) (1987,785)
    9: (10,0) (11,0) (477,3539) (597,2039) (643,4098)
    10: (9,0) (11,0) (478,3260) (598,1760)
    11: (9,0) (10,0) (479,3761) (599,2261) (642,4321) (1195,872) (1390,558)
    12: (13,0) (14,0) (1332,976) (1548,2600)
    13: (12,0) (14,0) (1333,678) (1549,2294)
    14: (12,0) (13,0) (1334,1216) (1550,2828)
    15: (16,0) (17,0) (429,3785) (498,5285) (547,4876) (619,2915) (635,398) (652,5156) (853,3183) (1107,2681) (1154,4440) (1296,1094) (1378,1114) (1540,794)
    16: (15,0) (17,0) (430,4086) (499,5586) (633,145) (704,2251) (1108,2379) (1152,4768) (1297,803)
    17: (15,0) (16,0) (431,3483) (500,4983) (546,5174) (618,2589) (625,5505) (643,5259) (850,4554) (852,3478) (1109,2988) (1298,1393) (1377,1416) (1420,1922) (1539,1080)
    18: (19,0) (20,0) (479,4576) (599,3076) (624,4773) (642,4607) (653,3767) (1195,1461) (1390,1122) (1541,57)
    19: (18,0) (20,0) (477,4364) (597,2864) (625,4561) (626,4710) (643,4390) (651,3540) (1121,104)
    20: (18,0) (19,0) (644,4580) (1194,1420) (1389,1082) (1391,1369)
    21: (22,0) (23,0) (429,3785) (498,5285) (547,4876) (619,2615) (635,398) (652,5156) (853,3183) (1107,2681) (1154,4140) (1296,1094) (1378,1114) (1540,794)
    22: (21,0) (23,0) (430,4086) (499,5586) (633,145) (704,1951) (1108,2379) (1152,4468) (1297,803)
    23: (21,0) (22,0) (431,3483) (500,4983) (546,5174) (618,2289) (625,5505) (643,5259) (850,4254) (852,3478) (1109,2988) (1298,1393) (1377,1416) (1420,1922) (1539,1080)
    24: (25,0) (26,0) (1687,989) (1813,867) (1818,942) (1820,942) (1866,637) (1868,749)
    25: (24,0) (26,0) (1867,566)
    26: (24,0) (25,0) (1686,1278) (1812,1154) (1814,1205) (1819,1123)
    27: (28,0) (29,0) (624,4953) (642,4725) (653,4574) (854,2249) (1195,1833) (1379,176) (1390,1497) (1419,5583) (1541,430)
    28: (27,0) (29,0) (625,4736) (643,4519) (651,4351) (852,2020) (1298,74) (1420,5353) (1539,227) (1931,5827)
    29: (27,0) (28,0) (626,4912) (644,4685) (1194,1792) (1389,1457) (1391,1763) (1421,5582)
    30: (31,0) (32,0)
    31: (30,0) (32,0)
    32: (30,0) (31,0)
    33: (34,0) (35,0) (1332,976) (1548,2600)
    34: (33,0) (35,0) (1333,678) (1549,2294)
    35: (33,0) (34,0) (1334,1216) (1550,2828)
    36: (37,0) (38,0) (1497,2534) (1498,2470) (1499,2598)
    37: (36,0) (38,0) (1542,3082)
    38: (36,0) (37,0) (1333,678) (1549,2294)
    39: (40,0) (41,0) (1332,650) (1548,2227)
    40: (39,0) (41,0) (1333,356) (1497,2263) (1499,2331) (1549,1924)

    Balises code rajoutées par Miles, pensez-y !

  2. #2
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    C'est pas du C++ mais du C.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 44
    Points : 28
    Points
    28
    Par défaut boucle for pas while
    salut

    c est tres simple tu na qu a utiliser trois boucle FOR imbriquer et le travail est fait,c est rapide et simple

Discussions similaires

  1. afficher les valeurs d'une matrice en pie
    Par fripette dans le forum R
    Réponses: 19
    Dernier message: 09/05/2011, 12h14
  2. Réponses: 8
    Dernier message: 04/04/2011, 10h40
  3. Réponses: 5
    Dernier message: 17/02/2011, 21h12
  4. les valeurs d'une matrice entre 0 et 1
    Par automa dans le forum Images
    Réponses: 3
    Dernier message: 20/04/2010, 19h43
  5. Réponses: 5
    Dernier message: 17/06/2008, 15h17

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