16 stellige Zahlenreihen generieren

Hallo an alle. Wie kann ich 16 stellige Zahlenreihen generieren? z.B. angefangen von:
1000000000000000 bis 9999999999999999
es sollen alle zahlen die dazwischen liegen generiert und in eine .txt Datei untereinander gespeichert werden. Die Größe der Datei spielt für mich keine Rolle. Wenn es möglich ist es in c/c++ zu schreiben, dann bitte ich um vorschläge.

Jeder Vorschlag ist gerne gesehen.
Danke schonmal im Voraus

Hi,
erstell einen fstream und schreib nach und nach in einer Schleife die Werte in die Datei als Zahlentyp solltest du double nehmen.
Lg Knerd

Und wie genau mache ich das? Bin ein ziemlichen anfänger in c.

Hi,
für den Anfang empfehle ich dir für C dieses Buch: http://openbook.galileocomputing.de/c_von_a_bis_z/
für C++ dieses:
http://cid-a006687d9a2baf7b.office.live.com/self.asp…
Ich kann dir den Code für C++ posten,

#include 
#include 

using namespace std;

int main(int argc, \_TCHAR\* argv[])
{
 fstream fs("Datei.txt", ios::out, 64);
 cout 
Ich weiss es ist sehr unsauber ich suche nach einer besseren Lösung aber sie funktioniert.
Eine andere habe ich noch:


    
    #include 
    #include 
    
    using namespace std;
    
    int \_tmain(int argc, \_TCHAR\* argv[])
    {
     fstream fs("Datei.txt", ios::out, 64);
     cout 
    Da bekommst du allerdings die Werte mit 1e[n] in die Datei geschrieben.
    Lg Knerd

Vielen dank. Du hast mir sehr geholfen. Ich brauche die zahlen ausgeschrieben. Ist die erste Variante ausgeschrieben und nicht abgekürzt? Oder werden die Zahlen auch abgekürzt gespeichert?

Hmm…Ich habe es ausprobiert, aber da werden fehler beim Kompilieren angezeigt. Wie kann man das denn in C lösen? Da kenne ich mich wenigstens etwas aus.

Hi,
welche IDE benutzt du? Welches Betriebsystem, das einzige was an C++ gebunden ist die Variante des Schreibens.
Lg Knerd

Du möchtest gerne alle Zahlen von 1.000.000.000.000.000 bis 9.999.999.999.999.999 in eine Datei schreiben, pro Zeile eine Zahl, richtg?

Das sind 17 (16 Stellen, 1 „newline“) * 1 000 000 000 000 000 Bytes oder auch

17000 TB

Du müsstest also 17000 TB Festplatten kaufen. Pro TB zahlt man derzeit so 50,00 EUR. Selbst bei ordentlichem Rabatt direkt vom Hersteller (bei der Stückzahl sicher kein Problem) wirst Du nicht weniger als 20,00 EUR/Stück hinbekommen.

Macht schonmal 340000 EUR für die Platten.

Ich würde mir also schon Gedanken über die „Dateigröße“ machen, auch wenn Du behauptest, das spiele keine Rolle.

C-Code, um die Zahlenreihe zu generieren ist denkbar simpel:

#include 

int main (void) 
{
 unsigned long int zahl = 1000000000000000;
 for (zahl; zahl 

Dann compilierst Du das unter "murks" und lenkst die Ausgabe in eine Datei um.



    
    murks \> zahlen.txt




Und dann wartest Du .... und irgendwann drückst Du Strg+C um den Murks abzubrechen, schaust Dir die Datei an und vergisst das Ganze.

Wozu soll die Zahlenreihe denn dienen?

Fragt sich

Fritze

Hallo,

cout

Hi,
ich hab mir nicht die Mühe gemacht das nach zurechnen. Außerdem hab ich gesagt das es sehr unsauber ist.
Lg Knerd

Hallo,
Ich habe geschrieben, dass die Datenmenge mich nicht interessiert, weil ich nicht vorhatte das auch anzuwenden. Mich hat lediglich der Code interessiert.

Wie kompiliere ich das ganze unter „murks“? Welchen Kompiler muss ich dazu verwenden? Meiner hat das irgendwie nicht

Außerdem sagt mir mein compiler, dass die Zahl für einen integer zu lang ist.

Das mit dem „murks“ war wahrscheinlich so gemeint das er damit sagen will das der Code murks ist.
Also jag den Code einfach durch deinen Compiler, der Code von mir geht auf jedenfall bei dem anderen weiss ichs nicht.
Lg Knerd

Ich arbeite im Moment ausschließlich mit c…will mich da ersteinmal einarbeiten. ich habe das so für c umgeschrieben und es funktioniert auch, aber ich krig das nicht in ne txt datei. Geht das da auch mit fstream? oder muss ich es anders lösen?

…öhm… ich bin mir nicht zu 100% sicher aber es gibt doch in C den FILE-typ oder so.
http://www.willemer.de/informatik/cpp/fileop.htm
Irgendwo in der Mitte.
Lg Knerd

Außerdem sagt mir mein compiler, dass die Zahl für einen
integer zu lang ist.

Darum habe ich die Variable nicht als „int“ sondern als „unsigned long int“ deklariert. Wenn das auf Deinem System (Was für eine PC Architektur mit welchem Betriebssystem und welchem Compiler eigentlich?) noch immer nicht reicht, dann nimm „unsigned long long int“.

Du findest die Beschränkungen für die einzelnen Datentypen in der limits.h Deines C-Compilers.

Gruß

Fritze

Wie kompiliere ich das ganze unter „murks“? Welchen Kompiler
muss ich dazu verwenden? Meiner hat das irgendwie nicht

Bei meinem Compiler geht das, wenn ich den Quellcode unter „murks.c“ abgespeichert habe, so:

gcc -o murks murks.c

Mit „murks“ meine ich den Namen, den Dein Programm hinterher haben soll. Du kannst es aber auch sonstwie benennen, es spielt für den Code überhaupt keine Rolle.

Mein Code ist mit jedem ANSI C Compiler übersetzbar, die Größe der Datentypen ist aber vom jeweiligen Betriebssystem und der Zielarchitektur (CPU) abhängig.

Gruß

Fritze

Hmm, du hast ein C Programm in eine ausführbare Datei übersetzt (Deiner Ahnungslosigkeit nach vermutlich eine Windows .exe). Diese Datei rufst Du auf der Kommandozeile auf. Wenn Du meinen Code genommen hast, dann siehst Du die Zahlenreihen auf dem Bildschirm.

Man kann jede Bildschirmausgabe in eine Datei umlenken, indem man ein „Größerzeichen“ und den Namen der Datei anhängt. Also:

deine.exe \> zahlen.txt

Danach musst du halt sehr sehr lange warten. Das Programm wird nach einiger Zeit mit der Fehlermeldung, dass die Platte voll ist, abstürzen.

Dann gehst Du los, kaufst die 17.000 Festplatten, baust die zu Deinem Megaspeicher-Array aus und startest das Programm nochmal.

Nach guten drei Jahren hast Du dann auf den 17000 Platten die gewünschte Datei.

Gruß

Fritze

…öhm… ich bin mir nicht zu 100% sicher aber es gibt doch
in C den FILE-typ oder so.

Inhalt einer Datei und deren Endung haben nichts mit einander zu tun. Das sieht man unter Windows zwar anders, ist aber trotzdem so. FILE ist kein „Dateityp“, sondern ein Datentyp, der die für die Kontrolle eines Datenstroms notwendige Struktur enthält.

Wenn der Original-Fragesteller eine C-Funktion zum speichern von Daten in eine Datei sucht, dann sollte er sich mal die fprintf Funktion (analog zu printf) anschauen.

Wenn es sowas wie eine Anleitung zu der bisher noch immer unbekannten C Bibliothek gibt, dann sthen da die Details (welche Bibliotheken eingebunden werden müssen, wie man die Funktion aufruft, welche Parameter benötigt und welche Rückgabewerte geliefert werden, etc.

Gruß

Fritze