Conversion d'une chaine en une matrice d'entiers

Résolu
bimen Messages postés 12 Date d'inscription lundi 26 octobre 2009 Statut Membre Dernière intervention 20 décembre 2009 - 29 oct. 2009 à 09:58
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009 - 29 oct. 2009 à 22:35
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

roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
29 oct. 2009 à 21:46
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
3
Utilisateur anonyme
29 oct. 2009 à 10:57
Salut,

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


...\ Dan /...
0
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
29 oct. 2009 à 11:35
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
0
bimen Messages postés 12 Date d'inscription lundi 26 octobre 2009 Statut Membre Dernière intervention 20 décembre 2009
29 oct. 2009 à 12:50
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;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bimen Messages postés 12 Date d'inscription lundi 26 octobre 2009 Statut Membre Dernière intervention 20 décembre 2009
29 oct. 2009 à 12:52
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)
0
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
29 oct. 2009 à 13:51
Ah autant pour moi :)

Flux Rss Tutoriels de Spoofix
Flux Rss Blog de Spoofix
Cordialement, Sarathai
0
bimen Messages postés 12 Date d'inscription lundi 26 octobre 2009 Statut Membre Dernière intervention 20 décembre 2009
29 oct. 2009 à 14:21
@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
0
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
29 oct. 2009 à 21:48
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
0
bimen Messages postés 12 Date d'inscription lundi 26 octobre 2009 Statut Membre Dernière intervention 20 décembre 2009
29 oct. 2009 à 22:05
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
0
bimen Messages postés 12 Date d'inscription lundi 26 octobre 2009 Statut Membre Dernière intervention 20 décembre 2009
29 oct. 2009 à 22:22
Encore Dsl. C'est bon ça marche. Et merci infiniment :)
0
roddehugo Messages postés 70 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 29 octobre 2009
29 oct. 2009 à 22:35
Derien :)
Toujours un plaisir


Flux Rss Tutoriels de Spoofix
Flux Rss Blog de Spoofix
Cordialement, Sarathai
0
Rejoignez-nous