Je suis en train d’essayer le langage Ruby,
c’est proche des autres langages scripts comme Perl, Python ou Haskell, et il est implanté d’office dans Linux Debian, autant en profiter. Le truc c’est de bien mettre l’extension .rb au script, et ensuite on peut le lancer avec la commande ruby monScript.rb, ou directement ./monScrpit.rb si on le met en executable (chmod).
Mon premier programme Ruby est donc un programme d’algorithme de Floyd. Le principe est simple, pour une matrice carré (M) de n colonnes, l’algorithme de Floyd est (à partir de 1, mais dans le programme il faudra partir de 0)
C’est simple comme algo.
Le problème, c’est que pour travailler sur les matrices, il nous faut imperativement des tableaux à 2 dimensions.
En Ruby, un tableau en 2 dimensions deviens Tab[[x1, y2],[x2, y2]] par exemple.
Bon.
Ben voici mon programme Floyd.rd actuel qui marche pour la saisie de la matrice :
[quote]#! /usr/bin/ruby
puts "*** dimensions de la matrice initiale ***"
print "Entrez le nombre de sommets correspondants au graph de la matrice initiale : "
lignes = gets.chomp.to_i
colonnes = lignes
print “Dimensions de la matrice initiale “,lignes,“x”,colonnes,”\n\n”
puts “*** initialisation de la matrice initiale ***“
mat=[[]]
for incLig in (0…lignes-1)
mat[incLig]=[]
for incCol in (0…colonnes-1)
print “Entrez la valeur de (x”, incLig+1,”, y”, incCol+1,") : "
mat[incLig]+=[[gets.chomp.to_i]]
end
end
puts "\n*** valeurs de la matrice initiale ***“
i=0
while i < mat.length
j=0
while j<mat[i].length
print mat[i][j],” "
j += 1
end
print "\n"
i+=1
end
[/quote]
Jusque là, ça fonctionne.
Maintenant, quand je rajoute l’algo, ça plante parcequ’au lieu d’ajouter les valeurs de la matrice, il ajoute les champs (et non les valeurs).
Pour l’instant, ca devient
J’ai passé encore une nuit blanche (pas uniquement dessus)… je fatigue là, alors si quelqu’un pouvait s’y interresser, ce serait sympa, merci.