hashtable

Computer Forum

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum

Sie betrachten gerade: hashtable


Antwort
Alt 14.05.2011, 13:15 hashtable #1
Erfahrener Benutzer
 
Registriert seit: 02.02.2010
Beiträge: 561
Standard hashtable

hallo an alle,

jetzt werden bestimmt einige von euch denken das ich damit etwas böses vorhabe, aber das ist nicht so.
also zu meinem thema wo ich hilfe brauch.
kann mir jemand einen tipp geben wie ich mit c++ buchstaben kombis erstellen kann?
also so:
a
b
c
...
x
y
z
aa
ab
ac
...
usw.

bisher habe ich es geschaft das alphabet aus kleinen buchstaben so zumachen, aber das ist zuviel code.

grüße

Alt 14.05.2011, 17:26 hashtable #2
C8H10N4O2 - Geniesser
 
Benutzerbild von xandros
 
Registriert seit: 05.07.2007
Ort: Nordamerika, CA, NB
Beiträge: 18.694
xandros eine Nachricht über MSN schicken xandros eine Nachricht über Yahoo! schicken xandros eine Nachricht über Skype™ schicken
Standard AW: hashtable

Verwende die Character-Codes der Zeichen. Dann hast du einen begrenzten Raum an Zahlenwerten, den du via Schleifen beliebig miteinander kombinieren kannst (verschachtelte Schleifen).
Alt 14.05.2011, 17:42 hashtable #3
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 02.02.2010
Beiträge: 561
Standard AW: hashtable

also ich hab dsa so gemacht:
Code:
char alphabetKLEIN[27]={' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
	
		for(int aa=0;aa<27;aa++)
				{

					for(int a=0;a<27;a++)
				{
					for(int b=0;b<27;b++)
				{
					for(int c=0;c<27;c++)
				{
					for(int d=0;d<27;d++)
				{
					for(int e=0;e<27;e++)
				{
					for(int f=0;f<27;f++)
				{
					for(int g=0;g<27;g++)
				{
					for(int h=0;h<27;h++)
				{
					for(int i=0;i<27;i++)
				{
					for(int j=0;j<27;j++)
				{
					for(int k=0;k<27;k++)
				{	
					for(int l=0;l<27;l++)
				{	
					for(int m=0;m<27;m++)
				{
					for(int n=0;n<27;n++)
				{	
					for(int o=0;o<27;o++)
				{	
					for(int p=0;p<27;p++)
				{	
					for(int q=0;q<27;q++)
				{	
					for(int r=0;r<27;r++)
				{	
					for(int s=0;s<27;s++)
				{	
					for(int t=0;t<27;t++)
				{	
					for(int u=0;u<27;u++)
				{
					for(int v=0;v<27;v++)
				{	
					for(int w=0;w<27;w++)
				{	
					for(int x=0;x<27;x++)
				{	
					for(int y=0;y<27;y++)
				{	
					for(int z=0;z<27;z++)
				{
				
				cout <<alphabetKLEIN[aa] << alphabetKLEIN[a] << alphabetKLEIN[b] << alphabetKLEIN[c]<< alphabetKLEIN[d] << alphabetKLEIN[e] << alphabetKLEIN[f] << alphabetKLEIN[g] << alphabetKLEIN[h] << alphabetKLEIN[i] << alphabetKLEIN[j] << alphabetKLEIN[k] << alphabetKLEIN[l] << alphabetKLEIN[m] << alphabetKLEIN[n] << alphabetKLEIN[o]  << alphabetKLEIN[p] << alphabetKLEIN[q] << alphabetKLEIN[r] << alphabetKLEIN[s] << alphabetKLEIN[t] << alphabetKLEIN[u] << alphabetKLEIN[v] << alphabetKLEIN[w] << alphabetKLEIN[x] << alphabetKLEIN[y] << alphabetKLEIN[z] <<endl;
				
					}}}}}}}}}}}}}}}}}}}}}}}}}}}

ist halt seeeehr kompliziert...
Alt 14.05.2011, 17:55 hashtable #4
C8H10N4O2 - Geniesser
 
Benutzerbild von xandros
 
Registriert seit: 05.07.2007
Ort: Nordamerika, CA, NB
Beiträge: 18.694
xandros eine Nachricht über MSN schicken xandros eine Nachricht über Yahoo! schicken xandros eine Nachricht über Skype™ schicken
Standard AW: hashtable

Du willst also Strings erzeugen, die 27 Zeichen lang sind und von
"..........................a" bis "zzzzzzzzzzzzzzzzzzzzzzzzzzz"
gehen?

(Anstelle der Punkte natuerlich Leerzeichen!)
Der Code ist nicht kompliziert, sondern unuebersichtlich.
Alt 14.05.2011, 18:05 hashtable #5
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 02.02.2010
Beiträge: 561
Standard AW: hashtable

jap genau. aber 27 zeichen sind übertrieben, 10 ziffern reichen auch schon.
Alt 15.05.2011, 09:24 hashtable #6
Erfahrener Benutzer
 
Benutzerbild von Nico
 
Registriert seit: 28.10.2005
Beiträge: 6.669
Standard AW: hashtable

Eigentlich würde sich Rekursion hier sehr anbieten, da die Schritte ja immer gleich sind..

Kuck dir mal das als Orientierungshilfe an:

Brute-Force-Algorithmus in C++

Mit ein bisschen rumprobieren wirds ziemlich einfach.

Hier mal ein Halb-Pseudocode von mir (ich kann kein C.^^), daher nicht wundern wenn er nicht läuft / veränder ihn bitte noch.

Code:
string charset = "abcdefghijklmnopqrstuvwxyz";
int size = strlen(charset);

void function bruteforce(maxpermutations, position, string) {
    for(i=0;i<size;++i) {
        if(position < maxpermutations - 1) {
            bruteforce(maxpermutations, position+1, string + charset[i]);
        }
        print(string + charset[i]);
     }
}

#Wenn du das ganze 10mal willst
bruteforce(10, 0, "");
Wenn ich keinen größeren Denkfehler hab, müssts gehen. ^^
Alt 15.05.2011, 10:56 hashtable #7
Erfahrener Benutzer
Themenstarter
 
Registriert seit: 02.02.2010
Beiträge: 561
Standard AW: hashtable

danke niko. werd ich mir mal anschauen.

hab da auch noch was rumprobiert, s geht auch, halt nur immer nur eine ziffer und ich habe keine ahnung wo ich hier ne 2./3./4. schleife einbauen soll...

Code:
		char cols[94];
		for(int i = 0; i < 94; i++ )
		{
				cols[i] = 33+i;
				cout << cols[i] << endl;
				//cout << "'" << cols[i] << "',";
		}
EDIT:
sooo hab jetzt die "lösung", auch wen aus bisher ungeklärten ursache das program ab un an piept und sich dadruch aufhängt, deswegen die for schleife. findet ihr einen fehler?
Code:
for(int zaehle=0;zaehle<25500000;zaehle++)
	{
		

		long n = zaehle;
		char zwischenspeicher[255];
		_itoa(n, zwischenspeicher, 255 );
		cout << zaehle << " - " <<zwischenspeicher << "\n";
				
		//PAUSE SCHLEIFE
				for(int x=0;x<10000000;)
				{
					x++;
				}
		
		//system("ping -n 1 localhost > nul");
	}
Antwort

RB

Thema: hashtable


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Zurück   Computer Forum - PC Forum - ModernBoard.de > Computerprobleme > Webmaster Hilfe / Programmierer Forum

Powered by vBadvanced CMPS v3.2.2


Sie betrachten gerade: hashtable