Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-06-2003, 17:41   #1
gik25
Senior Member
 
L'Avatar di gik25
 
Iscritto dal: Feb 2001
Messaggi: 1047
Dove sbaglio?

Dove sbaglio?


Codice:
public class Words
	{
		public Words()
		{
			
		}

		private string [,] array = new string[25,50000];
		private int [] lenght = new int[25];



		
		
		public void Add(string p)
		{
			char starting_letter = p.ToCharArray(0,1)[0];
			int index = starting_letter-'a';
			array[index,lenght[index]]=p;
			lenght[index]++;
		}

		public string Get(char c, int i)
		{
			return array[c-'a',i];
		}

		public string[] Complete(string s)
		{
			string[] trovati = new string[500000];
			int n_trovati=0;
			s=s.Trim();

			if(s.ToCharArray()[0]=='?' && s.ToCharArray()[0]=='*')
			{
				for(int i=0;i<25;i++)
					for(int j=0;j<lenght[i];j++)
					{
					
						if(CheckCompatibile(array[i,j],s)) {trovati[n_trovati]=array[i,j];n_trovati++;}
					}

				return trovati;
			} 
			else 
			{
				
				for(int j=0;j<lenght[s.ToCharArray()[0]-'a'];j++)
				{
					
					if(CheckCompatibile(array[s.ToCharArray()[0]-'a',j],s)) {trovati[n_trovati]=array[s.ToCharArray()[0]-'a',j];n_trovati++;}
				}

				return trovati;
			}
	}

		/// <summary>
		/// La stringa A può anche contenere ? e *
		/// </summary>
		/// <param name="a"></param>
		/// <param name="b"></param>
		/// <returns></returns>
		public bool CheckCompatibile(string b, string a)
		{
			char[] parola_asteriscata = a.ToCharArray();
			char[] parola_normale = b.ToCharArray();
			
			if(a.IndexOf('*')==-1) 
			{
				if(a.Length!=b.Length) return false;
			}
			else return CheckCompatibileConAsterischi(parola_asteriscata,parola_normale);

			int lunghezza_stringhe=Math.Min(a.Length,b.Length);

			for(int m=0;m<lunghezza_stringhe;m++)
			{
				if(parola_asteriscata[m]==parola_normale[m]) continue;
				else if(parola_asteriscata[m]=='?') continue;
				else return false;

			}
			return true;
		}

		public bool CheckCompatibileConAsterischi(char[] parola_asteriscata, char[] parola_normale)
		{
			bool asterisco_incontrato=false;
			int n=0;
			for(int m=0;m<parola_normale.Length ;m++)
			{	
				if(n>=parola_asteriscata.Length) return false;
				if(parola_asteriscata[n]=='*') {asterisco_incontrato=true;++n;continue;}
				else if(parola_asteriscata[n]==parola_normale[m] && !asterisco_incontrato) {++n;continue;}
				else if(parola_asteriscata[n]!=parola_normale[m] && !asterisco_incontrato) {return false;}
				else if(parola_asteriscata[n]==parola_normale[m] && asterisco_incontrato) {asterisco_incontrato=false;++n;continue;}
				else if(parola_asteriscata[n]!=parola_normale[m] && asterisco_incontrato) {continue;}
			}
			return true;
		}
	}
gik25 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2003, 17:42   #2
gik25
Senior Member
 
L'Avatar di gik25
 
Iscritto dal: Feb 2001
Messaggi: 1047
Questo pezzo in particolare

Codice:
		public bool CheckCompatibileConAsterischi(char[] parola_asteriscata, char[] parola_normale)
		{
			bool asterisco_incontrato=false;
			int n=0;
			for(int m=0;m<parola_normale.Length ;m++)
			{	
				if(n>=parola_asteriscata.Length) return false;
				if(parola_asteriscata[n]=='*') {asterisco_incontrato=true;++n;continue;}
				else if(parola_asteriscata[n]==parola_normale[m] && !asterisco_incontrato) {++n;continue;}
				else if(parola_asteriscata[n]!=parola_normale[m] && !asterisco_incontrato) {return false;}
				else if(parola_asteriscata[n]==parola_normale[m] && asterisco_incontrato) {asterisco_incontrato=false;++n;continue;}
				else if(parola_asteriscata[n]!=parola_normale[m] && asterisco_incontrato) {continue;}
			}
			return true;
		}
gik25 è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2003, 17:44   #3
gik25
Senior Member
 
L'Avatar di gik25
 
Iscritto dal: Feb 2001
Messaggi: 1047
Il programma prende un elenco di parole e lo confronta parola per parola con quella digitata dall'utente che può contenere ? e *

Ogni ? vale per qualsiasi carattere, ogni * per qualsiasi sequenza di carattari

es. cane = c?ne
c*=cane, capanno, ecc

il pezzo sopra si occupa delle parole con gli asterisci.
gik25 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
Intel cambia rotta su Linux? Nuove assun...
Samsung aggiorna Bixby con One UI 8.5: p...
L'Etiopia vieta le auto a combustione: a...
Pirateria audiovisiva: la Guardia di Fin...
Ubisoft conferma due nuovi Far Cry in sv...
Chi vincerà il Festival di Sanrem...
G42 e Cerebras portano in India un super...
Offerte aggiornate del weekend Amazon: 7...
4 MacBook Air in offerta e scende a 939€...
Chrome cambia il tuo modo di lavorare: o...
Minimo storico iPhone 17 su Amazon: 909€...
USA, incriminati tre ingegneri della Sil...
Xbox: Phil Spencer lascia dopo 38 anni, ...
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: 23:31.


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