Conversion d'une chaine en une matrice d'entiers

[Résolu]
Signaler
Messages postés
12
Date d'inscription
lundi 26 octobre 2009
Statut
Membre
Dernière intervention
20 décembre 2009
-
Messages postés
70
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
29 octobre 2009
-
Salut tout le monde,
Je suis en train de faire une application de plus court chemin (chemin moins coûteux). Mon input est une grille de coût stockée dans un fichier texte. Je vous montre un exemple : (en fait c pas ça ma grille elle contient un trés grand nombre de lignes et de colonnes)

1 1 1 3
2 1 3 1
4 3 2 3
1 0 1 2

J'ai intérêt à faire une matrice d'entier qui comprend ces données.
J'ai pu récupérer une chaîne comme suit(en utilisant la fonction spilt):

String ch=
1,1,1,3;
2,1,3,1;
4,3,2,3;
1,0,1,2;

Maintenant je veux convertir cette chaîne en un entier autrement je veux avoir
Int matrix[][]= (le contenu de la ch)

1,1,1,3;
2,1,3,1;
4,3,2,3;
1,0,1,2;

J'ai essayé avec Integer.ParseInt mais ça sera l'erreur incompatibilité des types.Voilà c'est mon problème. Est-ce que quelqu'un peut m?aider s'il vous plaît pour trouver matrix???

11 réponses

Messages postés
70
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
29 octobre 2009

La matrice [i][j], est-ce celle du début ?
1,1,1,3;
2,1,3,1;
4,3,2,3;
1,0,1,2;

Je pense que oui.

Je dirais genre comme ça ( à l'arrache :P ) :

int[][] matrix = new int[][];
int i = 0;
while ((line = buff.readLine())!= null) {
String str[]=line.split(" ");

for (int j=0; j<4; j++) {
matrix[j][i] = Integer.parsInt(str[j].toString());
}
i++;
...la suite du code...
}

Tu saisis ou pas ? A vérifier si cela fonctionne :)


Flux Rss Tutoriels de Spoofix
Flux Rss Blog de Spoofix
Cordialement, Sarathai

Salut,

Est-ce que tu as un bout code à nous montrer ?


...\ Dan /...
Messages postés
70
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
29 octobre 2009

Salut,

parlerais tu des algorithmes génétiques ?
Car j'ai réalisé ce projet, mais depuis plus d'une semaine, il m'est impossible d'ajouter des sources au site Java.fr. Je ne sais pas pourquoi ^^
Mais les sources sont sur mon site : Spoofix

Flux Rss Tutoriels de Spoofix
[url=http://feeds.feedburner.com/BlogSpoofix]Flux Rss Blog de Spoofix[/url
Cordialement, Sarathai
Messages postés
12
Date d'inscription
lundi 26 octobre 2009
Statut
Membre
Dernière intervention
20 décembre 2009

D'abord, merci bien pour vos réponses.
Voilà une partie du code que j'ai fait:

try{
BufferedReader buff = new BufferedReader(new FileReader(filePath));

try {
String line;
while ((line = buff.readLine())!= null) {
String str[]=line.split(" ");
for (int i=0; i<4; i++)
{
if (i==3)
s = new StringBuffer (s).append(str[i]).append(";\n").toString();
else
s = new StringBuffer (s).append(str[i]).append(",").toString();
}
System.out.print(s.toString());

}
finally
{

buff.close();
}
} catch (IOException ioe) {
System.out.println("Erreur --" + ioe.toString());
}

fichierSortie.close();

}
catch (Exception e){
System.out.println(e.toString());
}
}
}

L'affichge qui résulte c'est:

1,1,1,3;
2,1,3,1;
4,3,2,3;
1,0,1,2;
Messages postés
12
Date d'inscription
lundi 26 octobre 2009
Statut
Membre
Dernière intervention
20 décembre 2009

Non, sarathai, je parle pas des algorithmes génétiques ( plutot je suis en train d'appliquer l'algorithme de dijkstra sur une grille avec une source et un certain nombre de destinations)
Messages postés
70
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
29 octobre 2009

Ah autant pour moi :)

Flux Rss Tutoriels de Spoofix
Flux Rss Blog de Spoofix
Cordialement, Sarathai
Messages postés
12
Date d'inscription
lundi 26 octobre 2009
Statut
Membre
Dernière intervention
20 décembre 2009

@Sarathai:
J'ai consulté la classe Chemin de ton projet, mais c'est pas ça que je cherche. En fait mon programme crée d'après le fichier texte un fichier xml dans le quel j'ai la blasie <grille> <cell> ....
Une cellule corresond à matrix[i][j]. Mon problème est comment créer cette matrice??!! Vous m'avez compris
Messages postés
70
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
29 octobre 2009

C'est matrix[i][j] et non matrix[j][i], il me semble.

Flux Rss Tutoriels de Spoofix
Flux Rss Blog de Spoofix
Cordialement, Sarathai
Messages postés
12
Date d'inscription
lundi 26 octobre 2009
Statut
Membre
Dernière intervention
20 décembre 2009

wi justement c'est la matrix [i][j] car c la colonne qui varie. Bon peut etre j mal présenté mon pbm mais j arrivé à le resoudre donc lorsque je fais parseInt ça marche et j fais le system.out pour afficher leur valeur mais mon pbm c'est que qd je fais l'affichge de la matrice tous ses elts sont = 0
Messages postés
12
Date d'inscription
lundi 26 octobre 2009
Statut
Membre
Dernière intervention
20 décembre 2009

Encore Dsl. C'est bon ça marche. Et merci infiniment :)
Messages postés
70
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
29 octobre 2009

Derien :)
Toujours un plaisir


Flux Rss Tutoriels de Spoofix
Flux Rss Blog de Spoofix
Cordialement, Sarathai