Accueil > Forum > > > > affichage d'un tableau
affichage d'un tableau
mardi 12 janvier 2010 à 21:18:35 |
affichage d'un tableau

begueradj
|
Hello my friends,
J'ai un sérieux problème d'affichage, pour un truc que je pense avoir été bien fait, regardez bien:
Déclaration:
typedef struct truc {
int psl;
int dsl;
struct truc *suivl;/*pour pointer */
}CL;
Cette structure je l'ai mise dans un tableau comme suit:
CL*rat[20];
Dans le main, j'ai initialisé ce tableau comme suit:
for (int i1=1;i1<=20;i1++)
{
rat[i1]=(CL*)malloc(sizeof(CL));
rat[i1]->psl=1;
rat[i1]->dsl=50;
rat[i1]->suivl=NULL;
}
Et j'ai codé une procédure d'affichae ... mais bon: même lorsque je veux afficher une seule case rangeesl[i1] j'obtiens un nombre autre que celui que j'ai enregistré:
Affichage:
printf("%d","-----> %d",rat[i1]->psl,rat[i1]->dsl)
Or j'obtiens autre chose que 1 et 50 :(
Dites-moi où est le problème mes amis ?
Merci pour toute éventuelle réponse
|
|
mardi 12 janvier 2010 à 22:37:03 |
Re : affichage d'un tableau

BruNews
|
La base d'indexation en vraie prog est 0 et non 1.
Tu remplaceras les fonctions Windows par les trucs console (je n'en fais plus depuis des lustres).
HeapAlloc -> malloc
- printf pour les reste.
Tout est testé et va impec.
#include <windows.h>
#include "utils.h"
char szappname[] = "aRat";
typedef struct _RAT {
int a;
int b;
struct RAT *next;
} RAT, *LPRAT;
void tstRAT()
{
char buf[480], *c;
RAT *rat[20];
RAT *prt;
int i;
HANDLE hprcss;
hprcss = GetProcessHeap();
for(i = 0; i < 20; i++) {
rat[i] = HeapAlloc(hprcss, HEAP_ZERO_MEMORY, sizeof(RAT));
rat[i]->a = 1;
rat[i]->b = 50;
}
for(i = 0; i < 19; i++) {
rat[i]->next = rat[i + 1];
}
prt = rat[0];
c = buf;
do {
c = bnultoa(prt->a, c);
*c++ = '-';
c = bnultoa(prt->b, c);
*c++ = 10;
} while(prt = prt->next);
*(c - 1) = 0;
MessageBox(0, buf, szappname, 0);
for(i = 0; i < 20; i++) {
HeapFree(hprcss, 0, rat[i]);
}
}
#pragma comment(linker, "/entry:myWinMain")
void __fastcall myWinMain()
{
tstRAT();
ExitProcess(0);
}
ciao...
BruNews, MVP VC++
|
|
mercredi 13 janvier 2010 à 08:33:51 |
Re : affichage d'un tableau

begueradj
|
Merci pour la réponse Monsieur,
mais vous le savez mieux que moi: je n'ai pas commis d'erreurs algorithmique ou au niveau implémentation: je me demande pourquoi l'affichage ne fonctionne pas correctement (!?)
Je n'ai jamais utilisé les "trucs console" auparavant, et je dois terminer ce programme ...
Merci.
Begueradj
|
|
mercredi 13 janvier 2010 à 09:04:29 |
Re : affichage d'un tableau

BruNews
|
CL*rat[20];
for (int i1=1;i1<=20;i1++)
Ecrire sur rat[20] qui n'existe pas, c'est forcément excellent.
ciao...
BruNews, MVP VC++
|
|
mercredi 13 janvier 2010 à 09:05:31 |
Re : affichage d'un tableau

buno
|
Hello,
BruNews t'a soulevé le problème.
En effet, tu commences à remplir ton tableau à partir de la case 1.
Or, quand tu veux afficher la case 0, elle n'a pas été allouée ni initialisée. Tu as donc un affichage incorrect...
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
mercredi 13 janvier 2010 à 12:12:30 |
Re : affichage d'un tableau

begueradj
|
Merci Buno,
J'ai déjà initialisé de 0 à 19 mais l'affichage n'a pas fonctionné !!
C'est vraiment très bizarre: comme si je commence à douter de l'efficacité du langage C .
|
|
mercredi 13 janvier 2010 à 12:18:15 |
Re : affichage d'un tableau

begueradj
|
j'ai pris une case de range 9 (par exemple) pour l'afficher toute seule indépendamment des autres mais ça n'a pas fonctioné aussi :(
|
|
mercredi 13 janvier 2010 à 12:23:30 |
Re : affichage d'un tableau

begueradj
|
je viens d'essayer les initialisations à 0 et 1.
aussi pour un compteur++ et un autre ++compteur:
en vain :(
P.S.j'ai implémenté ma source sur codeblocks version 8.0.2
Si je ne trouve pas de solution à ce problème, je vais me divorcer du langage C définitivement
|
|
mercredi 13 janvier 2010 à 13:31:21 |
Re : affichage d'un tableau

buno
|
Réponse acceptée !
Ah mais attends...t'as un problème dans ton printf(), non?
Code C/C++ :
printf("%d -----> %d",rat[i1]->psl,rat[i1]->dsl);
au lieu de
Code C/C++ :
printf("%d","-----> %d",rat[i1]->psl,rat[i1]->dsl);
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
|
|
mercredi 13 janvier 2010 à 18:16:20 |
Re : affichage d'un tableau

begueradj
|
Merci Monsieur BUNO, je vais tester votre proposition ce soir à 23 heures (je suis loin de mon clavier à présent)
|
|
Cette discussion est classée dans : tableau, affichage, color, i1, rat
Répondre à ce message
Sujets en rapport avec ce message
Affichage d'une chaîne de caractères [ par kalf2000 ]
bonjour,j'ai un petit souci, je réussit à récupérer à partir d'un fichier texte une chaîne de caractère et à la mettre dans un tableau de caractère (c
probleme avec la recuperation de la couleur d'un pixel [ par Alucards ]
salut , voila j'ai un loader de texture bmp/tga/pcx/jpg qui fonctionne nikel. j'arrive a charger mes textures et les afficher. une fois charger elles
Affichage d'un tableau avec du texte oblique [ par Titeuf007 ]
Bonjour à tous,Je cherche à afficher un tableau (dans un CFormView) dont l'intitulé des colonnes est écrit de façon oblique (du style excel, avec les
Affichage d'un tableau de char dans une fenetre [ par Benjam18 ]
Bonjour à vous, j'aurai besoin de vous pour realiser un programme qui m'afficherai une fenetre et un message; j'ai un programme en console de ce genre
affichage tableau char en C [ par maxou224 ]
Bonjour, je suis en DUT informatique et je dois rendre en fin d'année un programme de bataille navale en C, seulement je suis coincé sur un drôle de p
utiliser des objets de classes références dans des vector ou des tableau x.... [ par khaled7400 ]
svp ça urge , voilà le problème : j'ai une [color=blue]public ref class [/color]Vehicule {//blabla }; lorsque je fais : Vehicule^ tab[10]; le compila
passage de tableau à 3 dimensions en paramètre à une fonction [ par snake57 ]
Bonjour à tous, J'ai un tableau à 3 dimensions que je veux afficher à partir d'une fonction. J'ai donc créé une fonction mais celle-ci affiche...n'im
Tableau à deux dimensions : affichage [ par hadydelabe ]
Bonjour ou bonsoir selon le temps que mon message vous parviendra. Je voudrai afficher un certains nombre caractère d'un tableau à deux dimensions ma
Problème de couleur dans tableau [ par hitachicm615 ]
Bonjour,J'ai déclaré un tableau et pour le remplir par des croix ou des ronds j'ai tapé ceci dans un switchcase 1: tab[0][5] = 'X';
Affichage d'une image [ par cadavor ]
Bonjour,J'ai créé un programme qui récupère des trames ethernet par liaison wifi.Les données contenues dans ces trames sont les pixels d'une image (64
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|