Faccio un esempio: ho un mazzo di 10 carte di un solo colore(cioè un vettore di 10 elementi) e le devo ordinare da 1 a 10 tenendo conto che tra una carta e la successiva,( es. tra il 2 e il 3 si possono trovare in mezzo 6, 4, 1, 7, ecc.) ci sono carte che vengono di volta in volta scartate sino a quando il mazzetto non esce ordinato da 1 a 10.
FACCIO UN ESEMPIO PRATICO DI COSTRUZIONE MATEMATICA CON CARTA E PENNA:
-CON SCARTO 1
1 passaggio) : - 1 - 2 - 3 - 4 - 5
2 passaggio) : - 1 6 2 - 3 7 4 - 5
3 passaggio) : 8 1 6 2 - 3 7 4 9 5
4 e ultimo(solo in questo caso) passaggio : 8 1 6 10 3 7 4 9 5 <--FACENDO LO SCARTO CON LE CARTE DI 1 USCIRA' IL VETTORE ORDINATO DA 1 A 10 (1 2 3 4 5 6 7 8 9 10)
Quello che vorrei sapere è la codifica in visual basic console di questo problema usando la funzione MOD (che da il resto) per rendere il vettore circolare in modo da non uscire subito dal giro..Ma uscendo magari usando un IF o un ciclo WHILE o perchè no con LOOP UNTIL.
Lo scarto da inserire in input deve essere (<= 10)
In conclusione l'utente dovrebbe vedere questo: -Inserisci scarto (max10) : (output)
3 (input, lo inseriamo noi da 0 10)
e deve uscire --> 8 3 5 1 10 9 4 2 7 6

Rispondi quotando