Tableau périodique des éléments multidimensionnel
Bonjour ,
En expliquant pas a pas ce que je veux faire :
-Ouvrir un fichier (apparemment un .csv)
-Ce fichier contient le tableau périodique des éléments avec seulement leur isotope stable (de la forme: 1,1,Hydrogène)
-Une fois le fichier ouvert, faire une boucle pour lire chacune des lignes et ainsi pouvoir additionner le numéro atomique et la masse de chaque atome. Donc 8,16,Oxygène + 6,12,Carbone = 14,28,Silicium qui est présent dans le fichier et dois impérativement y être.
-Afficher le résultat.
Le problème c'est qu'il y a plein de vides ..
Je débute ^^
Voici mon code :
Code:
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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
int main()
{
typedef map<unsigned,string> Isotopes;
vector<Isotopes> element(160);
element[1] = Isotopes{ {1,"Hydrogène"}, {2,"Deutérium"} };
element[2] = Isotopes{ {3,"Hélium-3"}, {4,"Hélium-4"} };
element[3] = Isotopes{ {6,"Lithium-6"}, {7,"Lithium"} };
element[4][9] = "Béryllium";
element[5][11]="Bore";
element[6][12] = "Carbone"; //Remplissage de la troisième case
element[7][14]="Azote";
element[8][16]= "Oxygene"; //Remplissage de la quatrième case
element[9][19]="Fluor";
element[10][20]="Neon";
element[11][23]="Sodium";
element[12][24]="Magnesium";
element[13][27]="Aluminium";
element[14][28]="Silicium";
element[15][31]="Phosphore";
element[16][32]="Soufre";
element[17][35]="Chlore";
element[18][40]="Argon";
element[19][39]="Potassium";
element[20][40]="Calcium";
element[21][45]="Scandium";
element[22][48]="Titane";
element[23][51]="Vanadium";
element[24][52]="Chrome";
element[25][55]="Manganese";
element[26][56]="Fer";
element[27][59]="Cobalt";
element[28][58]="Nickel";
element[29][63]="Cuivre";
element[30][64]="Zinc";
element[31][69]="Gallium";
element[32][74]="Germanium";
element[33][75]="Arsenic";
element[34][80]="Selenium";
element[35][79]="Brome";
element[36][84]="Krypton";
element[37][85]="Rubidium";
element[38][88]="Strontium";
element[39][89]="Yttrium";
element[40][90]="Zirconium";
element[41][93]="Niobium";
element[42][98]="Molybdene";
element[43][98]="Technetium";
element[44][102]="Ruthenium";
element[45][103]="Rhodium";
element[46][106]="Palladium";
element[47][107]="Argent";
element[48][114]="Cadmium";
element[49][115]="Indium";
element[50][120]="Etain";
element[51][121]="Antimoine";
element[52][130]="Tellure";
element[53][127]="Iode";
element[54][129]="Xenon";
element[55][133]="Cesium";
element[56][138]="Baryum";
element[57][139]="Lanthane";
element[58][140]="Cerium";
element[59][141]="Praseodyme";
element[60][142]="Néodyme";
element[61][146]="Promethium";
element[62][152]="Samarium";
element[63][153]="Europium";
element[64][158]="Gadolinium";
element[65][159]="Terbium";
element[66][164]="Dysprosiom";
element[67][165]="Holmium";
element[68][166]="Erbium";
element[69][169]="Thulium";
element[70][174]="Ytterbium";
element[71][175]="Lutenium";
element[72][180]="Hafnium";
element[74][184]="Tungstène";
element[75][187]="Rhenium";
element[76][192]="Osmium";
element[77][193]="Iridium";
element[79][197]="Or";
element[73][181]="Tantale";
element[78][195]="Platine";
element[80][202]="Mercure";
element[81][205]="Thallium";
element[82][208]="Plomb";
element[83][209]="Bismuth";
element[84][210]="Polonium";
element[86][222]="Radon";
element[87][223]="Francium";
element[88][226]="Radium";
element[89][227]="Actinum";
element[90][232]="Thorium";
element[91][231]="Protactinium";
element[92][238]="Uranium";
element[93][237]="Neptunium";
element[94][244]="Plutonium";
int carbonenum=6;
int carbonemass=12;
int oxygene=8;
int hydrogene=1;
int lithium=3;
// isotopes stables pour numAtom
int i;
int Transm;
int Transm1;
for(i=0; i<95;++i)
{
size_t numAtom = i;
for (auto const& isot : element[numAtom])// parcours du map<>
{
cout<<isot.second<<" + "<<element[6][12]<<" = "<<element[i+6][isot.first+12]<<"\n"<<isot.second<<" + "<<element[8][16]<<" = "<<element[i+8][isot.first+16]<<"\n"<<isot.second<<" + "<<element[1][1]<<" = "<<element[i+1][isot.first+1]<<"\n"<<isot.second<<" + "<<element[3][7]<<" = "<<element[i+3][isot.first+7]<<"\t\n";
endl(cout);
}
}
} |
Merci d'avance
Finch23