problème tableau multidimensionnel

problème tableau multidimensionnel - C++ - Programmation

Marsh Posté le 31-03-2003 à 21:10:20    

mon programme demande a l'execution les coordonnés d'un tableau bidimensionnel (le maximum etant[500][500]) et il doit l'afficher, mais je ne comprends pas pourquoi il m'affiche que les elements de la première colonne.. quelqu'un peut m'aiguiller ?

Reply

Marsh Posté le 31-03-2003 à 21:10:20   

Reply

Marsh Posté le 31-03-2003 à 21:11:36    

Comment déclares tu ton tableau ?


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 31-03-2003 à 21:14:20    

arf je suis con, j'ai oublié de soumettre le code, voilà :
 

Citation :

Code :
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.   int lignes, colonnes, valeur;
  6.   unsigned i=0, j=0, k=0, l=0; 
  7.   int grand[500][500]; 
  8. cin >> lignes >> colonnes;
  9. for(i=0;i!=lignes;i++)
  10.     {
  11.            
  12.       for(j=0;j!=colonnes;j++)
  13. {
  14.   cin >> valeur;
  15.   grand[j][i]=valeur;
  16. }
  17.     }
  18.    
  19. for(k=0;k!=lignes;k++)
  20.    {
  21.      for(l;l!=colonnes;l++)
  22.        {
  23.  cout << grand[k][l] <<'\n';
  24.        }
  25.    }
  26. return 0;
  27. }


Reply

Marsh Posté le 31-03-2003 à 22:40:13    

Voir peut-être la ligne
 
for(l;l!=colonnes;l++)
 
?? for(l = 0; l != colonnes; l ++)
             
             

Reply

Marsh Posté le 01-04-2003 à 00:03:47    

500*500*4o ça ocmmence à faire beaucoup, un malloc serait bien mieux

Reply

Marsh Posté le 01-04-2003 à 02:40:22    

oui, l n'est pas initialisé à 0 dans ton for, quoique il a a priori été initialisé lors de sa déclaration...?
 
rien à voir mais le cout '\n' ne serait-il pas mieux dans le for k après le for l pour faire un style tableau en affichage ??
 
++  :hello:

Reply

Marsh Posté le 01-04-2003 à 05:11:38    

Code :
  1. for(i=0;i!=lignes;i++)
  2.    {
  3.          
  4.      for(j=0;j!=colonnes;j++)
  5. {
  6.   cin >> valeur;
  7.   grand[j][i]=valeur;
  8. }
  9.    }
  10.  
  11. for(k=0;k!=lignes;k++)
  12.   {
  13.     for(l;l!=colonnes;l++)
  14.       {
  15. cout << grand[k][l] <<'\n';
  16.       }
  17.   }
  18. return 0;
  19. }


 
j colonne
i ligne
 
grand[j][i]=valeur;
 
 
k ligne
l colonne
cout << grand[k][l] <<'\n';
 
Faudrait te decider.

Reply

Marsh Posté le 01-04-2003 à 13:50:00    

oui c'est aussi ce que je voyais, tu ne lis pas dans la même direction


Message édité par nonokao le 01-04-2003 à 13:50:35
Reply

Marsh Posté le 01-04-2003 à 21:11:41    

merci mon code marche !! oui c'est con ce que j'ai fait pour les variables, mais j et k je les ai laissé, j'ai changé de variable parce que j'ai declaré i et j dans la premiere boucle for,

Code :
  1. for(unsigned i=0;..)


 
sa portée se limite donc à cette boucle, j'ai bon ?  d'où la déclaration de nouvelle variable

Reply

Marsh Posté le 01-04-2003 à 21:20:20    

arf un autre truc.. désolé, j'abuse de votre bonté la  :o  
 
en fait c'est un problème d'algorithmique, au moment de l'execution  on demande les coordonnés d'une matrice, ça c'est bon. Ensuite le programme demande d'entrer les valeurs de toutes les cases de la matrice. en partant de la case en haut a gauche l'index [0][0] on peut se déplacer horizontalement et verticalement, seulement si la case est inferieur ou egal à la valeur de la case sur laquelle on est. arf je suis pas clair, si vous m'avez compris.. je bloque totalement sur le problème .. je sais pas par ou commencer, un conseil ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed