Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Creazione di permutazione di parole
Forum - C# / VB.NET - [VB.NET] Creazione di permutazione di parole

Avatar
dexter4551 (Normal User)
Newbie


Messaggi: 3
Iscritto: 28/03/2022

Segnala al moderatore
Postato alle 0:39
Martedý, 29/03/2022
Ciao a tutti, sono un autodidatta di C# e stavo provando a fare un'esercizio per la combinazione di parole in modo da creare frasi con parole random.

Esempio: Ho n parole in input e tramite il mio programma in C# dovrei creare la maggior parte di combinazione possibili fatte di 12 parole, disposte in maniera random (non Ŕ necessario che creino una frase di senso compiuto).

Per esempio, parole in input: abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",

tipo frase: abandon, ability, able, about, above, absorb, absurd, abuse, access, accident, account.
                abandon, able, ability....
                ...... x 12 volte


Potete aiutarmi a creare questo programma, dato che sono ancora un principiante per visual basic e c# (sarei grato ache se mi rivelate se giÓ conoscete un software che svolge questa operazione).

Grazie mille per il vostro aiuto.
Dexter4551.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6254
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 2:15
Martedý, 29/03/2022
Ma tu non hai neanche provato? Vuoi che te lo scriva il forum?

Parti male...


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilitÓ) chiamava il gioco del Lotto Tassa sulla stupiditÓ.
PM Quote
Avatar
torn24 (Normal User)
Pro


Messaggi: 156
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 10:24
Martedý, 29/03/2022
Facciamo una premessa 12 parole o 12 caratteri sono solo 12 cose diverse, le combinazioni possibile sono molto elevate, quindi meglio partire da un numero minore di parole. Ti serve il principio di funzionamento non ha nessuno scopo pratico.

Prima del codice pensa in italiano cosa deve fare il programma, e poi cerca il modo di scriverlo nel linguaggio di programmazione.
Sicuramente dovrai salvare le tue parole da qualche parte, forse un array.
Dovrai generare una successione di numeri casuali da 0 a 11, con un vincolo, la successione non deve essere uguale a una precedente.
Per cui mi genero i miei numeri casuali e li salvo da qualche parte, ogni volta che genero numeri casuali controllo nel mio elenco che non siano uguali a quelli esistenti, se fosse cosi, casualmente rigenero un altra sequenza fino a quando ne "trovo" una nuova.

Ultima modifica effettuata da torn24 il 29/03/2022 alle 10:28
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1052
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 15:45
Martedý, 29/03/2022
Principiante quanto?
Sai aprire un progetto winform o console con visualstudio?


in programmazione tutto Ŕ permesso
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6254
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:52
Martedý, 29/03/2022
Le combinazioni (che vuol dire "la maggior parte"??) sono

n! / ((n-12)! 12!)

Le permutazioni sono di pi¨ ...

il programma e' semplice ma se non hai nessuna esperienza devi chiedere che te lo scrivano

Ultima modifica effettuata da nessuno il 29/03/2022 alle 22:33


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilitÓ) chiamava il gioco del Lotto Tassa sulla stupiditÓ.
PM Quote
Avatar
dexter4551 (Normal User)
Newbie


Messaggi: 3
Iscritto: 28/03/2022

Segnala al moderatore
Postato alle 16:09
Venerdý, 08/04/2022
Ho pochissima esperienza dato che non programmo da circa 5-6 anni (ho svolto un misero corso di programmazione informatica di java / visual basic / c# durante i miei primi anni universatari).
Quindi sono benissimo come si utilizza visual studio e aprire un progetto winform o console e le nezioni base della programmazione (classe, array, funzione ecc...)
Si quello che vorrei ottenere Ŕ la combinazione di una serie di parole, impostate in input.
C'Ŕ un'anima pia in questo forum che mi aiuta a scrivere questo codice?

PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1052
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 22:58
Venerdý, 08/04/2022
Credo che tutti siano pronti ad aiutarti, facci vedere cosa hai scritto e dove ti sei impantanato.
Oppure per te aiuto significa che lo dobbiamo scrivere noi da zero?

Se userai WinForm in C#, inizia ad aprire un progetto, metti nel form una ListBox con la proprietÓ Dock=Fill:
Codice sorgente - presumibilmente C++

  1. using System.Windows.Forms;
  2.  
  3. namespace MescolaParole
  4. {
  5.     public partial class Form1 : Form
  6.     {
  7.         public Form1()
  8.         {
  9.             InitializeComponent();
  10.             string[] parole = { "abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
  11.                                 "access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
  12.                                 "action","actor","actress","actual","adapt","add","addict","address","adjust","admit" };
  13.             string frase = "";
  14.          
  15.             for (int ciclo1 = 0; ciclo1 < parole.Length; ciclo1++)
  16.             {
  17.                 frase = parole[ciclo1 ] + ", ";
  18.                 for (int ciclo2 = 0; ciclo2 < parole.Length; ciclo2++)
  19.                 {
  20.                      if (ciclo1 != ciclo2) frase += parole[ciclo2] + ", ";
  21.                 }
  22.                 listBox1.Items.Add(frase);
  23.             }
  24.         }
  25.     }
  26. }


Il codice non fa quello che chiedi, da le prime 30 combinazioni possibili senza ripetere le parole, ma ti pu˛ servire per fare domande ed iniziare...

Ultima modifica effettuata da Carlo il 08/04/2022 alle 23:27


in programmazione tutto Ŕ permesso
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6254
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 8:47
Sabato, 09/04/2022
Il senso di un forum del genere non Ŕ quello di ottenere  codice su richiesta se non si sa programmare. Non Ŕ una software house gratuita dove arriva chiunque e ordina un programma e lo porta via gratis e senza sforzo.

╚ una comunitÓ di sviluppatori - con varie esperienze - che si aiutano su codici e problemi esistenti e su cui tutti intervengono attivamente compreso chi ha proposto il thread.

Ultima modifica effettuata da nessuno il 09/04/2022 alle 8:48


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilitÓ) chiamava il gioco del Lotto Tassa sulla stupiditÓ.
PM Quote