Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-01-2003, 20:37   #1
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
[C#]Generatore di Password

Sto cercando di fare un generatore di password in C# ed ecco che ho pensato:
Codice:
// 
//
//Generatore di password (Console version) 0.1 Alpha
//
//
using System;
using System.Random;

// La classe contenente il generatore
public class PasGen {

	public PasGen() {
		Console.WriteLine("\t\t -- Benvenuto nel generatore di password! -- \n");
	    Console.WriteLine("Inserisci di quanti caratteri vuoi la password:\n");
		int quant= Console.ReadLine();
	}
	// L'array delle vocali
	public string[] vocali= new string[4];
	vocali[0]= "a";
	vocali[1]= "e";
	vocali[2]= "i";
	vocali[3]= "o";
	vocali[4]= "u";
	// L'array delle consonanti
	public string[] consonanti= new string[20];
	consonanti[0]= "b";
	consonanti[1]= "c";
	consonanti[2]= "d";
	consonanti[3]= "f";
	consonanti[4]= "g";
	consonanti[5]= "h";
	consonanti[6]= "l";
	consonanti[7]= "m";
	consonanti[8]= "n";
	consonanti[9]= "p";
	consonanti[10]= "q";
	consonanti[11]= "r";
	consonanti[12]= "s";
	consonanti[13]= "t";
	consonanti[14]= "v";
	consonanti[15]= "z";
	consonanti[16]= "$";
	consonanti[17]= "w";
	consonanti[18]= "x";
	consonanti[19]= "y";
	consonanti[20]= "@";
            // la gunzione che genera la password
 		public void Genera(int quantiCar) {
 			int quanto = quantiCar;
 			int i, y;
 			string pwd;
 			for (i=0;i<quanto;i++) {
 				for (y=0;i<quanto+5;y++) {
					Random rdm1 = newRandom(unchecked((int)DateTime.Now.Ticks));
					Random rdm2 = newRandom(unchecked((int)DateTime.Now.Ticks)); 
					Random rdm3 = newRandom(unchecked((int)DateTime.Now.Ticks));
					Random rdm3 = newRandom(unchecked((int)DateTime.Now.Ticks));
					pwd = consonanti[y]+ vocali[rdm1] +vocali[rdm2]+ vocali[rdm3]+consonanti[y]; 
 				}
 			return pwd;
 			} 			
 		Console.WriteLine("Ecco la password:{0}\n", pwd);	
 		}

	
}

public class Print:PasGen {
	public static void Main(){
	PasGen gen = new PasGen();
	gen.Genera(quant);	
	}
}
Ma mi da:
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 21:00   #2
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Ma ci vedo storto io o il codice che c'è nell'immagine è diverso da quello te postato????

quello da te postato c'è vocali[0]="a";
quello nell'immagine (se non ci vedo storto) vocali[[0]]="a";
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 21:03   #3
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Quote:
Originally posted by "soalle"

Ma ci vedo storto io o il codice che c'è nell'immagine è diverso da quello te postato????

quello da te postato c'è vocali[0]="a";
quello nell'immagine (se non ci vedo storto) vocali[[0]]="a";
To, ora lo aggiorno
Che vor di?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 21:31   #4
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Due o tre cose... innanzi tutto quando definisci un array tipo new int32[4] gli indici di questo array vanno da 0 a 3 per un totale di 4 elementi...
Prova ad inizializzarlo così:
String[] vocali= new String{"a","e","i","o","u"};

Ciaociao
Soalle

PS: hai pensato ad usare un array di caratteri??
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 21:52   #5
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Codice:
// 
//
//Generatore di password (Console version) 0.1 Alpha
//
//
using System;

// La classe contenente il generatore
public class PasGen {

	public PasGen() {
		Console.WriteLine("\t\t -- Benvenuto nel generatore di password! -- \n");
	    Console.WriteLine("Inserisci di quanti caratteri vuoi la password:\n");
	    this.Genera();
	}
	// L'array delle vocali
        public String[] vocali= new String[]{"a","e","i","o","u"}; 
	// L'array delle consonanti
    public String[] consonanti= new String[]{"b","e","d","f","g", "h", "l", "m", "n", "p", "q", "r", "s", "t", "v", "z", "w", "x", "$", "@"}; 
     // la gunzione che genera la password
 	public void Genera(int quantiCar) {
		int quanto = quantiCar;
		int i, y;
		string pwd;
			for (i=0;i<quanto;i++) {
				for (y=0;i<quanto+5;y++) {
							pwd = consonanti[y]+ vocali[i] +vocali[i]+ vocali[i]+consonanti[y];
							public string password= pwd;
				}
			}
 	}
 		Console.WriteLine("Ecco la password:{0}\n", password);	
 		}
	
    }

public class Print:PasGen {
	public static void Main(){
	PasGen gen = new PasGen();
    int prova_prima= 10;
	gen.Genera(prova_prima);	
	}
}
Ora dove sbaglio?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:00   #6
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
se fai la cortesia di postare l'errore.... non ho un compilatore al posto della testa...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:03   #7
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Codice:
// 
//
//Generatore di password (Console version) 0.1 Alpha
//
//
using System;

// La classe contenente il generatore
public class PasGen {
		public PasGen(int quanto) {
		this.Genera(quanto);	
		}
		// L'array delle vocali
		public String[] vocali= new String[]{"a","e","i","o","u"}; 
		// L'array delle consonanti
		public String[] consonanti= new String[]{"b","e","d","f","g", "h", "l", "m", "n", "p", "q", "r", "s", "t", "v", "z", "w", "x", "$", "@"}; 
		 // la gunzione che genera la password
		public void Genera(int quantiCar) {
			int i, y;
			string pwd;
				for (i=0;i<quantiCar;i++) {
					for (y=0;i<quantiCar+5;y++) {
						pwd = consonanti[y] + vocali[i] + vocali[i ]+ vocali[i] + consonanti[y];
						public string password = pwd;
					}
					
				}
				return password;
			    Console.WriteLine("Ecco la password:{0}\n", password);
		}
 	
}

public class Print {
	public static void Main(){
	Console.WriteLine("\t\t -- Benvenuto nel generatore di password! -- \n");
	Console.WriteLine("Inserisci di quanti caratteri vuoi la password:\n");
	PasGen gen = new PasGen();
    int prova_prima= 10;
	gen.Genera(prova_prima);	
	}
}
Errori:
[/quote]
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:04   #8
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Cerca di strutturare meglio il programma in termini di classi... perché la classe Print deve ereditare da PasGen? Comunque l'errore è probabile che sia nel costruttore di PasGen che richiama Genera senza passargli alcun parametro...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:05   #9
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
oppss hai cambiato il codice mentre rispondevo....
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:08   #10
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
o levi la chiamata al metodo genera nel costruttore oppure quando crei l'oggetto gli passi effettivamente un numero e poi (poiché è il costruttore che si occpua di chiamare Genera) eviti di chiamare Genera....
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:10   #11
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
quindi cosi
Codice:
	public PasGen(int quanto) {
		this.Genera(quanto);	
		}
nn va?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:20   #12
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
nooooooo!!! perché dalla classe print richiami:
PasGen gen=new PasGen()

ma non esiste nessun costruttore di PasGen senza parametri!!! quindi nella chiamata al costruttore effettuata nella classe print gli passi un intero (e dopo eviti di chiamare Genera perché lo chiama già il costruttore):

PasGen gen=new PasGen(10);

Oppure togli la chiamata a Genera dal costruttore di PasGen e gli levi anche il parametro intero che deve ricevere e poi dopo richiami tu la funzione Genera

PasGen gen=new PasGen();
gen.Genera(10);

Peccato che con questo secondo metodo il costruttore perde di significato allora lo levi e poi, poiché non ha senso neppure un metodo di istanza, fai il metodo genera statico...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 22:23   #13
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
con questo:
Codice:
// 
//
//Generatore di password (Console version) 0.1 Alpha
//
//
using System;

// La classe contenente il generatore
public class PasGen {
		public PasGen(int quanto) {
		this.Genera(quanto);	
		}
		// L'array delle vocali
		public String[] vocali= new String[]{"a","e","i","o","u"}; 
		// L'array delle consonanti
		public String[] consonanti= new String[]{"b","e","d","f","g", "h", "l", "m", "n", "p", "q", "r", "s", "t", "v", "z", "w", "x", "$", "@"}; 
		 // la gunzione che genera la password
		public void Genera(int quantiCar) {
			int i, y;
			string pwd;
				for (i=0;i<quantiCar;i++) {
					for (y=0;i<quantiCar+5-1;y++) {
						pwd = consonanti[y] + vocali[i] + vocali[i ]+ vocali[i] + consonanti[y];
						public string password = pwd;
					}
					
				}
				return password;
			    Console.WriteLine("Ecco la password:{0}\n", password);
		}
 	
}

public class Print:PasGen {
	public static void Main(){
	Console.WriteLine("\t\t -- Benvenuto nel generatore di password! -- \n");
	Console.WriteLine("Inserisci di quanti caratteri vuoi la password:\n");
	int prova_prima= 10;
	PasGen gen = new PasGen(prova_prima);
   
	
	}
}
Mi da sempre sti erreri!!!!!!!!
Ma dove azzo sono?
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 12-01-2003, 23:04   #14
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
ma lo sai quello cha stai facendo nell'algoritmo???

nel for metti una variabile che è valida solo nel blocco del for e NON deve avere la keywork "public"; togliendo quella rimane un problema: la variabile password oltre che essere inutile è valida come dicevo prima solo nello scope del for quindi quando esci dal for password non esiste più e return password naturalmente dda dei problemi. Ma c'è un altro errore la tua funzione l'hai dichiarata come ua procedura che non restituisce niente ("void Genera....") quindi non ha neppure senso il return. Inoltre perché continui a fare derivare Print da PasGen che è concettualmente sbagliato??? Infine con un parametro errato il tuo programmino genererà un'eccezione che poiché non è stata colta farà scoppiare tutto il tuo computer....
Se chiamo PasGen(100) lui nel for prima o poi inizierà ad andare a prendere delle stringhe nell'array passando degli indici al di fuori della lunghezza dell'array-> ArrayOutOfBoundException o qualcosa del genere...

PS: Ero sotto linux e ho provato a compilare con mono
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 06:12   #15
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Prova a compilare questo e dirmi che ti dice:
Codice:
using System; 
// La classe contenente il generatore 
public class PasGen {
	  public string pwd;
      public PasGen(int quanto) { 
      this.Genera(quanto);    
      } 
      // L'array delle vocali 
      public String[] vocali= new String[]{"a","e","i","o","u"}; 
      // L'array delle consonanti 
      public String[] consonanti= new String[]{"b","e","d","f","g", "h", "l", "m", "n", "p", "q", "r", "s", "t", "v", "z", "w", "x", "$", "@"}; 
       // la gunzione che genera la password 
      public string Genera(int quantiCar) { 
         int i, y;
      	 double min= 1;
      	 int max=29; 
            for (i=0;i<quantiCar*System.Math.Round(min,max);i++) { 
               for (y=0;i<quantiCar*System.Math.Round(min, max);y++) { 
                  pwd = consonanti[y] + vocali[i] + vocali[i ]+ vocali[i] + consonanti[y];  
               }                 
            }        
         return pwd;
              
      }     
} 

public class Print { 
   public static void Main(){ 
   Console.WriteLine("\t\t -- Benvenuto nel generatore di password! -- \n"); 
   Console.WriteLine("Inserisci la percentuale di complessita che vuoi nella password:\n"); 
   int prova_prima= 10; 
   PasGen gen = new PasGen(prova_prima);
   string password;
   password = gen.pwd;	
   System.Console.WriteLine("Ecco la password:{0}\n", password); 
    
   } 
}
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 09:33   #16
soalle
Senior Member
 
L'Avatar di soalle
 
Iscritto dal: Oct 2000
Città: Montreal (Canada)
Messaggi: 1309
Sono forse il tuo paggio...
Il problema è quello che ti ho spiegato prima... ma a quanto pare non ci senti....
vocali è un array lungo 5. ci accedi con un for i cui indici vanno da 0 a quantiCar*(sbrodaglia); quanticar=10 la sbrodaglia=1 quindi tu accedi nell'array con indici fino a 9 -> Exception...
Ti conviene prima guardarti un po' di programmazione di base...
soalle è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 11:39   #17
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Che maestro paziente...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 13:27   #18
Mezzetti0903
Senior Member
 
Iscritto dal: Nov 2000
Messaggi: 279
__________________
In un arco di tempo abbastanza lungo l'indice di sopravvivenza di ognuno scende a zero
Mezzetti0903 è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2003, 13:40   #19
Kleidemos
Bannato
 
L'Avatar di Kleidemos
 
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
Quote:
Originally posted by "soalle"

Sono forse il tuo paggio...
Poi in pvt decidiamo la cifra!
Kleidemos è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
SpaceX Starship: dopo il successo di Fli...
Gli incendi in Spagna minacciano la staz...
Intel punta sul vetro: partnership con L...
L'acquisizione di ATI compie 20 anni: AM...
iPhone 18 Pro, Apple le prova tutte per ...
NVIDIA, Samsung, SK hynix e Broadcom: a ...
Sony rompe il silenzio: God of War Laufe...
iPhone Ultra, lancio ritardato per il pi...
Microsoft rafforza l'attivazione di Wind...
Galaxy S27 e S27+: Samsung starebbe test...
macOS più sicuro di Windows? Il n...
L'UE punta il dito contro TikTok: ecco c...
Qualcomm aumenterà i prezzi dei c...
TOP 12 Amazon weekend: al top una stampa...
Come sfruttare le offerte di Amazon per ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v