Parcours

nourcine18 Messages postés 2 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 4 avril 2009 - 28 mars 2009 à 15:16
nourcine18 Messages postés 2 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 4 avril 2009 - 4 avril 2009 à 00:02
bonjour à tous,
je suis debutant en java. j'ai une matrice ne compris que 0 et 1. je veux compter le nombre des 1 dans chaque colonne. j'ai essayé avec un code mais j'ai trouvé que à chaque fois, pour qu'il passe d'une colonna à une autre, que lorsque je localise moi-meme le compteur.je trouve ca inutile car mon matrice est tres grande donc j'ai ajouté un boucle while apres avec do...while néanmoins à l'exeution le calcul n'arrete pas(boucle infini).le code est le suivant :
[code]
public class Matrice {
public static void main(String args []){
int matrice [][]= {{1, 1, 3,5,8,6},{4,2,3,5,8,6},{4,1,3,5,8,6},{1,2,3,5,8,6},{4,2,1,5,8,6},{1,1,1,1,1,1}};
int i;int j;
for(i=0; i<6; i++){
 System.out.println("\n");
 for(j=0;j<6;j++){
  System.out.println(matrice[i][j]);
 }
}
System.out.println("\n");
System.out.println("**********projection horizontale*********");
System.out.println("\n");
System.out.println("\n");


 int somme=0;
i=0;
do{


for(j=0;j<6;j++)
{
if ((matrice[i][j]==1)||(j==6))
{
System.out.println("là" +i+j+ "se trouve le"+matrice[i][j]);
somme = somme+matrice[i][j];
j=j++;


}
}


System.out.println("la somme pour cette colonne est" +somme);
}
while(i<=6);
}
}
[code]
j'ai essayé dans un premier temps une petite matrice puis si j'arriverai a trouver la solution je le testerai avec la matrce que je veux.
SVP, si quelqu'un arrivera à trouver où il existe l'erreur ou bien il a une idée sur comment je peux améliorer ce code afin qu'il travaille sur n'importe quelle matrice, je le remercie d'avance s'il me repond le plus proche posssible.
merci d'avance pour votre aide

2 réponses

Utilisateur anonyme
29 mars 2009 à 07:48
Bonjour,

Peux-tu tester ton code modifié et me dire si c'est ce que tu veux ?

public
class Matrice {

publicstaticvoid main(String args []){
//Pour controler: le premier élément a une longueur de 7, les autres sont comme dans l'exemple

int matrice [][]= {{1, 1, 3,5,8,6,1},{4,2,3,5,8,6,},{4,1,3,5,8,6},{1,2,3,5,8,6},
{4,2,1,5,8,6},{1,1,1,1,1,1}
};

int lgm = matrice.length;

int lgj = 0;

int i;int j;

for(i=0; i<lgm; i++){
System.out.println(
"\n");
lgj = matrice[i].length;

for(j=0;j<lgj;j++){
System.out.println(matrice[i][j]);
}
}
System.out.println(
"\n");
System.out.println(
"**********projection horizontale*********");
System.out.println(
"\n");
System.out.println(
"\n");

int somme=0;

int sommeTotale = 0;
j=0;
do
{

for(i=0;i<lgm;i++)
{
lgj = matrice[i].length;

for(j=0;j<lgj;j++)
{
System.out.println(matrice[i][j]);

if (matrice[i][j] == 1)
//if ((matrice[i][j]==1)||(j==6))
{
System.out.println(
"là " +i + " "+j+ " se trouve le "+matrice[i][j]);
somme = somme+matrice[i][j];
//j++;
}
}
System.out.println(
"la somme pour cette colonne est " +somme + "\n");
sommeTotale = sommeTotale + somme;
somme = 0;
}

System.out.println(
"\nle nombre total de 1 est " +sommeTotale);
}

while(j<lgm);
}
}

Cordialement,

Dan

...\ Dan /...
0
nourcine18 Messages postés 2 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 4 avril 2009
4 avril 2009 à 00:02
merci danimo,
j'ai arrivé à resoudre mon probleme avant que vous m'a envoyé le message.en tout cas merci bien pour le code et pour le temps que vous avez passé pour le corriger.merci bien
0
Rejoignez-nous