begin process at 2012 05 28 16:07:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

affichage d'un tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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

Administrateur CodeS-SourceS
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)

1 2

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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,477 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales