Zum Inhalt springen

Buchstaben als zahlen?


errox

Empfohlene Beiträge

Hallo

ich wollte fragen, wie ich in einer while schleife "heximale" und.... "alle buchstaben / zahlen" ausgeben kann.

z.b.


int a = 0;

while(true)

{

  cout << a << endl;

}


soll dann

0, 1, 2,3,4,5.6,7.8.9,a,b,c,d,e,f

ausgeben..

.und auf einer anderen art und weise

0, 1, 2,3,4,5.6,7.8.9,a,b,c,d,e,f,g,h,i,j,k,l,m,n

usw ^^

Danke für antworten

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn es dir nicht darum geht, mit den "Zahlen" auch zu rechnen, dann steck sie einfach in ein char-Array, und gib das Zeichen für Zeichen aus:

#include <iostream>

using namespace std;

int main()
{
char werte[] = "0123456789abcdef"; // bei Bedarf länger
for( size_t i = 0; i < sizeof( werte ) - 1; ++i )
{
cout << werte[i] << '\n';
}
}[/code]

Das -1 bei der Schleifenbedingung hat den Grund, dass Stringliterale automatisch nullterminiert werden. Darum ist die Größe, die sizeof liefert, um 1 größer als die Anzahl der Zeichen im Array.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Machs zu nem String, zähl die anzahl der Zeichen (z. B. 2 bei FF) und häng davor entsprechend viele 0'en dran? Geht halt nur solange du nicht mit weiterarbeiten willst.

Wenn du volle 32 Zeichen hast (also keine führende null), kannst du dein Ergebnis auch einfach mit 10³² multiplizieren, dann kann das Ding auch ein Nicht-String sein.

Hab leider keiner weitreichenden C++ Kenntnisse, deshalb wüsste ich da spontan auch keine bessere Lösung für.

Link zu diesem Kommentar
Auf anderen Seiten teilen

blos will ich dass

00000000000000000000000000000001

00000000000000000000000000000002

00000000000000000000000000000003

usw ausgibt ^^

Soll dein Programm von 0 bis ffffffffffffffffffffffffffffffff zählen?

Wozu?

Ist dir klar, wie lange das dauert? Selbst wenn dein Programm eine Milliarde Zeilen pro Sekunden ausgeben würde, würdest du das Ende nicht erleben. Das Programm wäre noch nicht mal zu 0.0000000001% durchgelaufen, wenn unserer Sonne der Brennstoff ausgeht.

Wenn du das wirklich brauchst (was ich bezweifle; das sieht mir gerade eher nach einer Spielerei aus), dann solltest du dich nach einer Bibliothek für große Zahlen umsehen, z.B. die GNU Multi-Precision Library. Denn du brauchst hier einen Datentyp, der 128 Bit fassen kann. Mir ist kein Compiler für heutige System bekannt, der solche Größen mit den eingebauten Datentypen unterstützt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sag doch gleich das es sich um MD5 handelt.. Um das Problem zu lösem hätte ein wenig Googlen auch nicht geschadet, gibt ja zig Sourcefiles, z. B. das hier. Oder hier. Glaube es ist viel einfacher wenn du dir den Code ansiehst, dir überlegst was du machen willst und dann erst fragen stellst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

MD5 Summe knacken? Nö.. Wäre zu sehr aufwendig... Ich will / brauch auch nicht zu wissen, wie das geht...

Ich möchte nur wissen, wie ich ein programm schreibe, das X beliebige stellen in einer schleife ausgibt von 0 bis ... F / Z

Tut mir leid, wenn ich euch damit nerve... :S

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich möchte nur wissen, wie ich ein programm schreibe, das X beliebige stellen in einer schleife ausgibt von 0 bis ... F / Z

Mir erschließt sich der Sinn zwar absolut nicht, aber na gut...

Schreib dir eine Klasse, die sich die gewünschte Länge, die Zeichen (z.B. als String) und die Stellenwerte (z.B. als Vector<int>, wobei die Werte jeweils als Index auf den String zu verstehen sind) merkt.

Dann brauchst du noch einen operator++ zum Hochzählen. Der geht die Stellen von hinten nach vorn durch und prüft, ob ein Übertrag vorliegt. Falls nein, wird die Stelle um 1 hochgezählt. Fall ja, wird die Stelle auf 0 gesetzt und es geht mit der nächsten Stelle weiter.

Schließlich brauchst du noch einen operator<<, der das Ding in seinem aktuellen Status ausgeben kann. Aber das ist ja nur eine einfache Schleife.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...