J'ai besoin de créer un tableau d'entiers de 2000 lignes et 300 colonnes. Dois-je le créer par:
int tableau[300] [2000];
ou
int tableau[2000] [300];
Un débutant agacé![]()
J'ai besoin de créer un tableau d'entiers de 2000 lignes et 300 colonnes. Dois-je le créer par:
int tableau[300] [2000];
ou
int tableau[2000] [300];
Un débutant agacé![]()
Bien le bonjour,
la notion de ligne ou colonne n'est utile que pour le programmeur. Pour le programme il n'y a que des adresses.
si tu veux que ton premier indice corresponde à un numéro de ligne, alors int tableau[2000] [300] sinon int tableau[300] [2000]
ça influera dans tes parcours du tableau. si tu as un indice qui déborde, tu obtiendras une erreur.
pourquoi ne pas faire un tableau de 2000 vecteur a 300 coordonnees.
typedef quelquechose vecteur[300]
typedef vecteur tableau[2000]
Ma question si basique a première vue a été motivée par le fait que je n'arrive pas a afficher correctement la colonne 0 des 2000 lignes lorsque j'utilise le code suivant :
int ligne;
ligne = 0;
while (ligne<2000)
{ printf("%d ",tableau[ligne] [0]);
printf("\n");
ligne = ligne + 1;}
Seules les 300 dernières sont affichées![]()
![]()
![]()
Le tableau a été défini comme suit:
int tableau[2000] [300];
... et comme par hasard, 300 est censé être le nombre de colonnes...
Donne un code complet et minimal reproduisant le probleme.
Tu affiches sur un terminal, 300 ne serait pas la taille en ligne du buffer du terminal?
Le programme s'éxécute sur un PC.
Effectivement je commence à suspecter un problème de taille de buffer car lorsque je lance le code suivant qui ne fait pas référence au tableau:
int ligne;
ligne = 0;
while (ligne<2000)
{ printf("%d ",ligne);
printf("\n");
ligne = ligne + 1;}
seules les valeurs de 1701 à 1999 s'affichent soit 299 valeurs.
Que faire ?
Si tu fais ça sous Windows 2000 ou XP, sache qu'une console Windows possède en effet un buffer de 300 lignes.
Tu peux toujours voir ce que ça donne en redirigeant la sortie vers un fichier texte...
J'ignorais la limitation à 300 lignes d'une console Windows,
le problème ne venait pas du tableau, dont une dimension était justement 300, mais du buffer.
Merci à tous
Au fait: c'est réglable, dans les propriétés de la console.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager