Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569

    c - permutazioni di una stringa

    ciao a tutti.

    Devo scrivere una funzione che generi le permutazioni di un vettore char. Ho scritto questo:
    Codice PHP:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    void scambia (char*, char*);
    void stampa(char [], int );

    int main()
    {
       
    int i,j,k,conta=0;
       
    int len;
          
       
    char parola[]={"123"};
       
    len=strlen(parola);
          
       
       for ( 
    i=0i<len i++ )
       {  
              for ( 
    j=0j<len j++)
              { 
                      for ( 
    k=j+1k<len k++)     
                      {   
    scambia(&parola[j],&parola[k]);     
                          
    stampa(parola,len);    
                          
    conta++;
                           }
              }
         }      
       
       
    printf("\n\n");
       
    printf("%d Anagrammi\n\n",conta);
       
    system("pause"); 
               
    }

    void scambia (char *achar*b)
    {
         
    char tmp;
         
         
    tmp=*a;
         *
    a=*b;
         *
    b=tmp;
         
    }
         


    void stampa(char v[], int l)
    {  
    int i;
       
       
    printf("\n\n");
       for (
    i=0;i<l;i++) 
          
    printf(" %c",v[i]);
        

    A volte funziona (12, 1234) ed altre no. Penso che il problema sia negli indici dei for ma non riesco a risolvere. Cosa ne pensate?

    Grazie a tutti.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569
    Avete altre idee per risolvere il problema senza usare la ricorsione?

    Non riesco a venirne a capo...

    Grazie.

  3. #3
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    569
    Grazie per il Link.

    Ho studiato il programma ma non trovo la soluzione per risolvere il mio problema.

  5. #5
    ciao...io ero alle prese cn il tuo stesso esercizio...questo qui delle permutazioni di una stringa di caratteri...solo che io l'ho risolto usando la ricorsione...il tuo codice l'ho visto..ma sembrandomi tutto giusto...non trovando errori...forse mi è venuto il dubbio che c sia qualcosa di sbagliato nel for cn la K....se sei riuscito a trovare l'errore puoi dirmi dove era...xkè io nn riuscivo a farlo in modo iterativo..però cn qst tuo algoritmo almeno avrei tutti e due!..t ringrazio

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288

    Moderazione

    Originariamente inviato da School90
    ciao...io ero alle prese cn il tuo stesso esercizio...questo qui delle permutazioni di una stringa di caratteri...solo che io l'ho risolto usando la ricorsione...il tuo codice l'ho visto..ma sembrandomi tutto giusto...non trovando errori...forse mi è venuto il dubbio che c sia qualcosa di sbagliato nel for cn la K....se sei riuscito a trovare l'errore puoi dirmi dove era...xkè io nn riuscivo a farlo in modo iterativo..però cn qst tuo algoritmo almeno avrei tutti e due!..t ringrazio
    Questa discussione è vecchia di anni. Come ti è già stato suggerito, leggi (e rispetta) il Regolamento di quest'area.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.