Division d'une matrice sur un vecteur avec java

camy12 Messages postés 9 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 16 mai 2006 - 15 mai 2006 à 15:41
camy12 Messages postés 9 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 16 mai 2006 - 16 mai 2006 à 14:10
bonjour tout le monde.
j'ai un problème avec mon programme, il me signale pas d'érreurs dans mon code mais il me génère un erreurs de compilation. je programme avec java sous eclipse. si qlq un peut essayer mon programme sur sa machine je serai reconnaisante
voici mon code:



public class Matrice {

public double contenu[][];











public Matrice (double [][] contenu)
{
this.contenu=contenu;
}
////////// /...Affichage de la matrice m...//////////



public void
printMat (){





















for (int i=0; i<this.contenu.length; i++)
{
for (int j=0;
j<this.contenu[i].length; j++)
{
System.out.print("\t" +
this.contenu[i][j]);
}
System.out.println();
}
}

/////// la méthode qui retourne le max de la colonne n° numColonne/////////////
public
double getMaxiCol(int numColonne){
double max =
Double.NEGATIVE_INFINITY;

for(int i=0;i<this.contenu.length;i++)



if(this.contenu[i][numColonne]> max)



max=this.contenu[i][numColonne];



return (max);



}

///////////// la méthode qui rend le max des
colonnes/////////






public double [] getTabMaxiCol( )
{
int nbColonnes=this.contenu[0].length;



double [] res =
new double[nbColonnes];











for(int
colonne=0;colonne<nbColonnes;colonne++)
res[colonne]=getMaxiCol(colonne);
return res;
}





//////////////////la méthode qui affiche un tableau de
double/////



















public static void
afficher(double [] tab)
{
for (int
colonne=0;colonne<tab.length;colonne++)
System.out.println("\t" + tab[colonne]);
}



//////////...la division d'elements d'une matrice sur les
max de ces colonnes...////////



































public double [][] division( )
{
int
nblignes=this.contenu.length;
int
nbColonnes=this.contenu[0].length;
double []
tab = new double[nbColonnes];
double
[][]resfin=new double[nblignes][nbColonnes];
for (int
ligne=0; ligne<nblignes; ligne++)
{
for (int
colonne=0; colonne<nbColonnes; colonne++)
{
resfin[ligne][colonne]=contenu[ligne][colonne]/tab[colonne];
}
}
return
resfin;
}



















public static void affiche(double [][]mat)
{
for (int
ligne=0; ligne<mat.length; ligne++){
for (int colonne=0; colonne<
mat[0].length; colonne++)
{
System.out.print("\t" +
mat[ligne][colonne]);
}
}







}




////////// /...la fonction main...//////////
public static void main(String[] args){



double
m[][]={{2,5,8,6,9,4},{1,2,3,6,8,9},{7,8,5,2,6,2}};

Matrice matrice=new
Matrice(m);

matrice.printMat();




afficher(matrice.getTabMaxiCol( ));



affiche(matrice.division());







}



}

merci d'avance.

2 réponses

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
15 mai 2006 à 21:09
bonsoir

le problème vient de ces lignes la:
<meta http-equiv= "Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Kate, the KDE Advanced Text Editor">

double [] tab
= new double[nbColonnes];
double [][]resfin =new double[nblignes][nbColonnes];
for (int ligne= 0; ligne<nblignes; ligne++)
{
for (int colonne =0; colonne<nbColonnes; colonne++)
{
resfin[ligne][colonne]=contenu[ligne][colonne]/tab[colonne];
}

tu as créer un tableau tab sans remplir son contenu.
0
camy12 Messages postés 9 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 16 mai 2006
16 mai 2006 à 14:10
bonjour tout le monde.
merci Kaloway, je vais refaire ça.
à bientot.
bonne journée
0
Rejoignez-nous