Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

big_muff

Alter Hase

  • »big_muff« ist der Autor dieses Themas

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

1

08.06.2007, 13:01

Kleiner Wettbewerb

Ich habe da eine interessante Aufgabe gefunden.
Wer zuerst eine gültige Lösung postet gewinnt Ruhm und Ehre!
Ich bitte Leute die das schon kennen nicht mitzumachen. Vielen Dank!
Stellt nicht direkt den Quelltext eurer Lösung hier rein, damit andere die Aufgabe auch noch lösen können. Am Besten lädt Ihr eure exe irgendwo ins Internet und verlinkt sie hier.

Aufgabe:
Schreibt ein Programm (Die Sprache ist eigentlich egal), das seinen eigenen Quelltext in die Konsole ausgibt.
Also wenn man den Inhalt der Konsole kompiliert und ausführt sollte wieder genau das gleiche rauskommen.
Das Programm muss selbstständig lauffähig sein, darf also keine externen Dateien verwenden!
Hinweis: Man muss weder Ahnung von Disassemblierung haben noch muss man in irgendeiner Form auf die laufende exe zugreiffen.

Viel Spass beim knobeln!
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

2

08.06.2007, 13:37

Re: Kleiner Wettbewerb

Zitat von »"big_muff"«


Das Programm muss selbstständig lauffähig sein, darf also keie externen Dateien verwenden!


Also Textausgabe ohne WinAPI, ohne STL,... soll es Assembler sein oder wie?

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

3

08.06.2007, 13:52

Man kann auch ohne jeglichen #includes und #pragmas ein solches Programm standardkonform und ohne Assembler schreiben;)

Ciao
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

big_muff

Alter Hase

  • »big_muff« ist der Autor dieses Themas

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

4

08.06.2007, 13:58

Standardbibliothek darf natürlich benutzt werden. WinAPI dagegen nicht (ich wüsste jetzt auch nicht für was man das benötigen sollte). Sorry, falls das nicht klar wurde aus der Aufgabenstellung. Ich dachte eher daran, dass man keine Textdatei verwenden darf, in der der Quellcode steht und diesen in die Konsole ausgeben...
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

5

08.06.2007, 14:08

Naja... WinAPI hab ich aufgezählt, weil die dortigen Consolefunctions als alternative zu STL möglich gewesen wären^^

Also mit STL versuch ich mich mal dran :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

6

08.06.2007, 14:24

Das ist wohl nicht die Lösung, die hier erwartet war, aber sie funktioniert ;)

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
#include <fstream>
#include <iostream>

int main()
{
    std::ifstream strm(__FILE__);
    while(!strm.eof()) std::cout << static_cast<char>(strm.get());

    return 0;
}

big_muff

Alter Hase

  • »big_muff« ist der Autor dieses Themas

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

7

08.06.2007, 14:35

Dein Programm funktioniert aber nur auf deinem PC!

Zitat von »"big_muff"«

Das Programm muss selbstständig lauffähig sein, darf also keine externen Dateien verwenden!

Deine Lösug verwendet die Quellcodedatei und ist damit leider keine gültige Lösung :badgrin:
Aber nette Idee ;)

Ruhm und Ehre sind damit immer noch zu haben!!!
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

08.06.2007, 14:54

Zitat von »"big_muff"«

Dein Programm funktioniert aber nur auf deinem PC!

In kompilierter Form schon, aber wenn man es selber kompiliert, nicht ;)

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

9

08.06.2007, 16:17

Das laesst mir einfach keine Ruhe.. aber ich denke ich gebe auf :)
Hier ist mein Ansatz in Java.. ich hab dummerweise Probleme mit den Escape-Characters, egal wie ich es drehe und wende :(

Quellcode

1
2
3
4
5
6
7
8
9
public class Self
{
public static void main()
{
String code = "\"public class Self{public static void main(){String code = --;code = code.replaceFirst(\"--\",code);System.out.print(code.substring(1,code.length()-1));}}\"";
code = code.replaceFirst("--",code);
System.out.print(code.substring(1,code.length()-1));
}
}
"Have you tried turning it off and on again?"

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

08.06.2007, 16:33

Bei Java oder C# könnte man den Bytecode dekompilieren und nahezu den exakten Orginalcode bekommen. Bei C++ o.ä. wüsste ich spontan keine Lösung und würde sogar behaupten, dass das unmöglich ist (ohne Resourcen und zusätzliche Textanhänge in der Exedatei).
@D13_Dreinig

Werbeanzeige