Vecteur avec int et char

Tyroflan Messages postés 10 Date d'inscription samedi 1 mars 2003 Statut Membre Dernière intervention 31 mars 2008 - 18 mars 2003 à 09:42
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 - 26 mars 2003 à 04:02
int **bourse
main()
{
...
cin >> nombre;
for (unsigned int i=0;i<(nombre);++i)
bourse[i] = new int [5];
donc je crée autant de vecteurs bourse que l'indique la variable : nombre
j'aurais donc pour nombre = 1
bourse[0][0] = ...
bourse[0][1] = ...
bourse[0][2] = ...
bourse[0][3] = ...
bourse[0][4] = ...
ces 5 variables sont des int, mais j'aimerais que la première soir un string ou char
bourse[0][0] = ... //char
bourse[0][1] = ... // int
bourse[0][2] = ... // int
bourse[0][3] = ... // int
bourse[0][4] = ...// int
...
}

si qqn pouvait m'aider pour me dire comment déclarer cela...
merci d'avance,
Xavier

2 réponses

CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
26 mars 2003 à 04:00
3 possibilités mais toutes se base sur un cast

int **bourse;

main()
{
...
cin >> nombre;
for (unsigned int i= 0;i<(nombre);++i)
bourse[i] = new tBourse;
*((char *)bourse[0]) = ...
bourse[0][1] = ...
bourse[0][2] = ...
bourse[0][3] = ...
bourse[0][4] = ...
...
}

###################################

struct tBourse
{
char c;
int i[4];
} *bourse;

main()
{
...
cin >> nombre;
for (unsigned int i=0;i<(nombre);++i)
bourse[i] = new tBourse;
bourse[0]->c = ...
bourse[0]->i[0] = ...
bourse[0]->i[1] = ...
bourse[0]->i[2] = ...
bourse[0]->i[3] = ...
...
}

###################################

union tBourse
{
char c;
int i;
} **bourse;

main()
{
...
cin >> nombre;
for (unsigned int i=0;i<(nombre);++i)
bourse[i] = new tBourse[5];
bourse[0][0]->c = ...
bourse[0][1]->i = ...
bourse[0][2]->i = ...
bourse[0][3]->i = ...
bourse[0][4]->i = ...
...
}

Core Breaker :)
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
26 mars 2003 à 04:02
une autre possibilité plus simple:

int **bourse;

main()
{
...
cin >> nombre;
for (unsigned int i= 0;i<(nombre);++i)
bourse[i] = new tBourse;
bourse[0][0] = (int)...
bourse[0][1] = ...
bourse[0][2] = ...
bourse[0][3] = ...
bourse[0][4] = ...
...
}

Core Breaker :)
0
Rejoignez-nous