Pages : 1
#1 Le 01/03/2007, à 18:44
- amwus
Initialiser une matrice en C
Bonjour !
Voilà je dois faire un programme qui me calcules un triangle de pascal. J'ai donc conçu un petit algorithme qui récupère les valeurs de la ligne d'avant pour calculer la nouvelle valeur. Problème ! Il me met des valeurs abracadabrantes !
J'ai donc pensé que c'était du au fait que ma matrice n'était pas initialisée. Or qd j'essaie d'initialiser la matrice comme suit :
for (int i = 0; i < dim; i++) { // Init matrix with 0
for (int j = 0; i < dim; i++) {
matrix[i][j] = 0;
}
}
Ca ne remplit pas du tout le tableau avec des 0...
Ma question est donc, faut il initialiser le tableau ou pas ? Si c'est bien le cas, comment le faire ?
Pour info, voici l'algorithme du triangle :
// Calculation of pascals triangle
for (int posx = 0; posx < dim; posx++) {
for (int posy = 0; posy < posx; posy++) {
if ((posx == 0) || (posx == posy)) {
matrix[posx][posy] = 1;
}
else {
matrix[posx][posy] = matrix[posx-1][posy-1] + matrix[posx-1][posy];
}
}
}
Voila voila, merci d'avance !
Black holes are where god divided by zero...
Hors ligne
#2 Le 02/03/2007, à 00:52
- best_friend_fr
Re : Initialiser une matrice en C
Salut
Donne nous tout ton fichier.
Il faut initialiser les tableaux en C/C++.
Mais que vaut ta variable dim?
Comment as-tu alloué la mémoire de ton tableau?
Ensuite, ATTENTION AUX COPIER-COLLER !!!
Dans ton for imbriqué, tu n'as changé qu'une fois sur 3 le i en j.
Il faut mettre
for (int i = 0; i < dim; i++) { // Init matrix with 0
for (int j = 0; j < dim; j++) {
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#3 Le 02/03/2007, à 15:17
- amwus
Re : Initialiser une matrice en C
Le problème est résolu. Et sans initialiser le tableau, ça fonctionne !
Black holes are where god divided by zero...
Hors ligne
Pages : 1