PDA

View Full Version : [C Python] riordinamento casuale di un array di char


phoebe28
25-01-2010, 16:40
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.:cry:
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!

cdimauro
26-01-2010, 02:03
Meglio procedere direttamente in Python (almeno in versione 2.6) per questo tipo di problemi: risolvi in molto meno tempo.
import random

List = list('abcdefghijklmnopqrstuvwxyz,.;:')

with open('Prova.txt', 'w) as f:
for i in xrange(10):
random.shuffle(List)
f.write(''.join(List))
:cool:

phoebe28
26-01-2010, 18:49
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..:D
ciaoo