Re: Récursivité

Liste des GroupesRevenir à fcl c  
Sujet : Re: Récursivité
De : pehache.7 (at) *nospam* gmail.com (pehache)
Groupes : fr.comp.lang.c
Date : 16. Jan 2025, 15:47:38
Autres entêtes
Organisation : Nemoweb
Message-ID : <KvVb6VxI8RxjhXir2jld0j_1Zks@jntp>
References : 1 2 3 4 5 6 7 8
User-Agent : Nemo/1.0
Le 15/01/2025 à 09:27, kurtz le pirate a écrit :
On 15/01/2025 02:19, beST wrote:
 
Grok me dit que c'est du Povray ou un language similaire créé
spécifiquement pour un domaine particulier.
 
   Désolé, désolé, je me suis trompé de code :(
  Effectivement celui posté est du POVRAY, c'est l'environement de "destination".
  Donc, voila le code C de la fonction :
  ——————————————————————————————————————————————————————————————————————
int solve(int board[SIZE][SIZE]) {
int row, col;
  if (!find_empty(board, &row, &col)) {
return 1;
}

for (int num = 1; num <= SIZE; num++) {
if (is_valid(board, num, row, col)) {
board[row][col] = num;
if (solve(board)) {
return 1;
}
board[row][col] = 0;
} // if (is_valid(board, num, row, col))
} // for (int num = 1; num <= SIZE; num++)

return 0;
}
  ——————————————————————————————————————————————————————————————————————
   POVRAY n'est effectivement pas du C mais est lisible facilement.
Son probl§me justement, est qu'il est limité en terme de profondeur de la récursivité sans doute à cause de sa vielle conception.
Même en C cette fonction écrite comme cela ne peut pas être efficace, et peut potentiellement saturer la pile. La raison est que board[SIZE][SIZE] est passé par valeur, ce qui génère une nouvelle copie du tableau complet à chaque appel récursif.
Faire en sorte que le paramètre soit considéré comme un pointeur va éviter ces copies inutiles. A priori le seul changement requis est:
_________________________________
int solve(int *(board)[SIZE]) {
_________________________________
Par contre je ne sais pas si povray sait manipuler des pointeurs.

Date Sujet#  Auteur
12 Jan 25 * Récursivité20kurtz le pirate
12 Jan 25 +- Re: Récursivité1pehache
12 Jan 25 `* Re: Récursivité18Olivier Miakinen
12 Jan 25  +- Re: Récursivité1pehache
13 Jan 25  `* Re: Récursivité16beST
13 Jan 25   `* Re: Récursivité15kurtz le pirate
13 Jan 25    +- Re: Récursivité1Jo Engo
14 Jan 25    +* Re: Récursivité12beST
14 Jan 25    i`* Re: Récursivité11kurtz le pirate
14 Jan 25    i +- Re: Récursivité1Jo Engo
15 Jan 25    i `* Re: Récursivité9beST
15 Jan 25    i  `* Re: Récursivité8kurtz le pirate
16 Jan 25    i   +* Re: Récursivité5Olivier Miakinen
16 Jan 25    i   i+- Re: Récursivité1Olivier Miakinen
17 Jan 25    i   i`* Re: Récursivité3kurtz le pirate
21 Jan 25    i   i `* Re: Récursivité2kurtz le pirate
21 Jan 25    i   i  `- Re: Récursivité1Olivier Miakinen
16 Jan 25    i   `* Re: Récursivité2pehache
17 Jan 25    i    `- Re: Récursivité1kurtz le pirate
14 Jan 25    `- Re: Récursivité1Erwan David

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal