Probleme d'initialisation d'un tableau de structure

Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007 - 25 avril 2005 à 21:10
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007 - 27 avril 2005 à 11:00
Bonjour

J'aimerai créer un tableau de structure question réponse avec 10 lignes qui soit initialisé au debut du programme mais je bloque lorsqu'il faut faire l'initialisation :
[{;}] enfin je ne conné pas la structure exacte pour initialiser.
Quelqu'un pourrait-il m'aider ?

Merci d'avance
Maiku

16 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 avril 2005 à 08:06
Un tableau de structure, c'est quoi exactement?
Pour initialiser un tableau, on fait comme ça : string[] monTableau = new string[cells];

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
26 avril 2005 à 12:27
Rebonjour


Je vé préciser ma question.


J'ai une structure :


struct erreur


{


string questerreur;


char reperreur;


}

J'applique a un tableau cette structure :


erreur[] tab = new erreur [20] {};

J'aimerai que dans mes {} soit mises mes 20 valeurs mé je ne sé pa comment placer mes string a cause {} etc.
Donc voila si quelqu'un pouvait m'aider je lui en serait très reconnaissant.

Maiku
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2005 à 12:42
Par exemple :

struct erreur
{
public erreur(string quest)
{
questerreur = quest;
}

string questerreur;
char reperreur;
}

erreur[] tab = new erreur [20] {new erreur("erreur 1"), new erreur("erreur 2"), ...};

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
26 avril 2005 à 12:50
Euh dsl mé je pense pas que ca va marcher car j'ai deux champs : un string et un char donc je dois initialiser les deux "question" 'rep'.

Maiku
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
26 avril 2005 à 12:52
De plus je ne voudrai qu'une seule structure pour pouvoir tt initialiser ensemble non pas a l'ouverture du programme mais lorsque je tape le programme.

Maiku
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 avril 2005 à 13:24
La solution de coq fait ce que tu veux :

struct erreur
{
public erreur(string quest, char c)
{
questerreur = quest;
reperreur = c;
}

string questerreur;
char reperreur;
}

erreur[] tab = new erreur [20] {new erreur("erreur 1", 'o'), new erreur("erreur 2", 'u'), ...};

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2005 à 13:24
struct erreur
{
public erreur(string quest, char rep)
{
questerreur = quest;
reperreur = rep;
}

string questerreur;
char reperreur;
}

erreur[] tab = new erreur [20] {new erreur("erreur 1", '1'), new erreur("erreur 2", '2'), ...};

Par contre je ne comprend pas ce que tu veux dire par "De plus je ne voudrai qu'une seule structure pour pouvoir tt initialiser ensemble non pas a l'ouverture du programme mais lorsque je tape le programme."

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2005 à 13:31
encore trahi par le refresh ^^

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 avril 2005 à 13:32
A une seconde près cette fois!
lol

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
26 avril 2005 à 22:05
Rebonjour

Alors je ne vé pa utilisé la solution de coq car je ne suis qu'en premiere année bts ig et je ne me sens pas capable d'expliquer correctement ce que coq m'a ecrit.
Donc je reviens à mon truc de depart :

struct err
{
public string questerr;
public char reperr;
}
err [] tab = new err [1] {{"question", 'reponse'}};

Ca c'est mon code actuellement, donc mon prog me dit tableau incorrectement structuré.
Apres que mon tableau soit initialisé , je veux le reutiliser pour generer une question au hasard la aussi mon code est assez confus puis ensuite comparé ma reponse saisie avec celle dans mon tableau.
Donc si qq avé une solution un pe plus simple ^^

Maiku
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 avril 2005 à 22:20
C'est juste une structure avec un constructeur.

Sinon pour ton code déjà : 'reponse' ne risque pas d'aller, ça fait 7 caractères, soit 6 de trop pour un type char :-)

Tu peux faire ça, ça te permettras de garder à peu pret ce que tu fesais au depart :
// instanciation
err uneErr;
// initialisation des valeurs
uneErr.questerr = "question";
uneErr.reperr = 'r';
// création du tableau
err [] tab = new err [1] {uneErr};
// tu peux aussi faire :
//err [] tab = new err [1];
//tab[0] = uneErr;

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
26 avril 2005 à 23:07
si tu veux quelquechose de répétitif mais de facile a expliquer bah ya toujours sa ...

struct err
{
public string questerr;
public char reperr;
}
err [] tab = new err [10];
err[0].questerr = "Question 1";
err[0].reperr = 'a';
err[1].questerr = "Question 2";
err[1].reperr = 'c';
// Et ainsi de suite
err[9].questerr = "Question 10";
err[9].reperr = 'b';

Eric
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
27 avril 2005 à 07:09
Bonjour

La réponse de ricklekebekoi me paraît pas mal mé n'y a t'il pas moyen de mettre l'initialisation des données dans les {} de :

err [] tab = new err [10]{};

comme ca même si c'est long ca tient sur une ligne et comment pourrais je generer un question aleatoire de mon tableau de structure ?

Maiku
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
27 avril 2005 à 09:09
Sans le constructeur je ne vois pas comment ça serait possible.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
27 avril 2005 à 10:05
La première solution (celle de coq) est quand même meilleure, et à mon avis elle est pas très dure à expliquer !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
0
Maiku Messages postés 190 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 4 juillet 2007
27 avril 2005 à 11:00
Lol vi peut etre bidou mé tu sé en premiere année on ne voit pas les procedures a l'interieur d'une structure.

Maiku
0
Rejoignez-nous