Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

  • Autor

Also.. Mit dem code wird

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

ausgebeben

blos will ich dass

00000000000000000000000000000001

00000000000000000000000000000002

00000000000000000000000000000003

usw ausgibt ^^

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.

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.

Muss ja nicht sein Klotzkopp..

Es kann sich genausogut um ne Hashfunktion á la MD5 handeln die er vielleicht schreiben oder verstehen will.

  • Autor

Zu dir Nachwuchsinformatiker, ja ich möchte etwas mit MD5 prüfsummen ausprobieren ^^

geht dass dann auch mit 4 Stellen? bzw 10?

MfG...

P.S. die innerhalb von 1 nem tag durchgelaufen wird..

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.

  • Autor

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

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.