Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175

    ricorsione e variabili globali

    Ho questo codice:
    codice:
    void ricorsivo(int i)
    {
        if(i >= 5 && i < 380){
            ricorsivo(i+1);
            ricorsivo(i-1);
        } else
             array_global[i] = 1; // array globale di int
    }
    Qualcuno saprebbe dirmi perchè va in seg fault??? ci sono problemi nell'uso d var globali con la ricorsione?

  2. #2
    devi far vedere anche il main con la chiamata e le dichiarazioni globali
    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    char array_global[10];

    Se dovessi postarti il main dovrei postarti il sorgente di decine di altre funzioni...

  4. #4
    non è un po' striminzita come array?, appena superi i 10 inserimenti ti va in errore di runtime.
    ciao
    sergio

  5. #5
    ma poi come fai ad uscire dalla ricorsione ?
    Spiega cosa vuoi fare che così è sbagliata.
    ciao
    sergio

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    Allora mettiamo di avere un array di 16 int
    codice:
     1  2  3  4
     5  6  7  8
    09 10 11 12
    13 14 15 16
    Questo è un array ma in realtà è usato come fosse una matrice. Per cui se considero il campo con ID 10, il campo che gli sarà in testa sarà 6 (10-4). Quello a dx sarà 10+1 cioè 11 e così via.

    Ora mettendo che l'array sia riempito così (i trattini sono le celle vuote):
    codice:
    1 1 1 1
    1 - - 1
    1 - - 1
    1 1 1 1
    Devo creare una funzione ricorsiva che accetta un int che sarà l'indice dell'array. Se passo l'indice di una cella vuota, l'algoritmo imposterà la cella vuota a 0 e successivamente metterà a 0 tutte le altre celle vuote adiacenti, come accade col campo minato (prato fiorito), qualcuno sa aiutarmi???? L'array come dicevo è globale.

  8. #8

  9. #9
    Originariamente inviato da Metallica
    Allora mettiamo di avere un array di 16 int
    codice:
     1  2  3  4
     5  6  7  8
    09 10 11 12
    13 14 15 16
    Questo è un array ma in realtà è usato come fosse una matrice. Per cui se considero il campo con ID 10, il campo che gli sarà in testa sarà 6 (10-4). Quello a dx sarà 10+1 cioè 11 e così via.
    allora la dichiarazione la fari così
    codice:
    ..
    
    #define COL 4
    #define ROW 4
    
    char array_global [ COL * ROW ];
    
    ...
    Ora mettendo che l'array sia riempito così (i trattini sono le celle vuote):
    cosa vuol dire cella vuota, che numero contiene una cella vuota ??

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2000
    Messaggi
    1,175
    zero.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.