|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 7
|
[C Python] riordinamento casuale di un array di char
Salve a tutti!
Ho il seguente problema che cerco di risolvere da tutta la giornata, ma ancora non ne sono giunta a capo nonostante abbia letto tutte le sezioni di questo (e altri) forum riguarandi la generazione di sequenze pseudorandom: ho un array di 30 char,contenente tutte le lettere dell'alfabeto inglese più 4 segni di punteggiatura. Quello che vorrei fare è creare un programmino in C che mi generi un file in cui questo array sia stampato 10 volte,ma ogni volta riordinato in maniera casuale e (soprattutto) diversa! Nel programma che ho scritto ho usato l'algoritmo di Knuth per il mescolamento dell'array, e per generare i numeri random necessari per selezionare char diversi ogni volta ho usato il frammento di codice srand((unsigned) time(NULL)); Ovviamente la srand essendo chiamata una volta sola nel programma,ogni volta che lo eseguo nel file mi viene stampato l'array riordinato casualmente,e questo va bene, solo che 10 volte uguale. ![]() La mia domanda è (sperando sia chiara): c'è un modo per generare semi diversi con la srand all'interno della medesima esecuzione del programma? Oppure ci sono altri modi senza utilizzare srand? L'altra domanda è: se riuscissi a fare un programma che funzioni in C, questo può essere tradotto in Phyton? (premetto che non conosco Phyton, la traduzione la farebbe un'altra persona che conosce il linguaggio) Grazie in anticipo a chi vorrà rispondere! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Meglio procedere direttamente in Python (almeno in versione 2.6) per questo tipo di problemi: risolvi in molto meno tempo.
Codice:
import random List = list('abcdefghijklmnopqrstuvwxyz,.;:') with open('Prova.txt', 'w) as f: for i in xrange(10): random.shuffle(List) f.write(''.join(List)) ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jan 2008
Messaggi: 7
|
Grazie mille! Ieri sera alla fine ho risolto il problema in C, avevo fatto un banale errore nel codice, ora il programma funziona, però mi è appena stato comunicato che devo farlo in Phyton, linguaggio che non ho mai usato! Quindi il tuo suggerimento mi sarà sicuramente utile..
![]() ciaoo |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:05.