Programmieraufgaben C

Java find ich persönlich, ist ne gute Alternative zu Delphi und auf jedem Fall zu C.
C / C++ ist für meine Verhältnisse viel zu Fehleranfällig. Aber wer die ultimative Sprache lernen möchte was Geschwindigkeit angeht sollte sich an L3 halten. Das ist Betriebssystem und Sprache in einem und hat Geschwindigkeiten von denen jeder Linux Rechner nur träumen kann. Läuft allerdings nur auf älteren Rechnern.
 
Lecker, aber was hat das mit Programmierung zu tun ;-)
siehste

War ich persönlich nie von begeistert..
 
Mir war gerade langweilig, deswegen hab ich beschlossen, die absolut unleserlichste version des weihnachtsbaums zu machen, die kompilierbar ist.

Code:
#include <stdio.h>

int main()
{
        int i=1, j, brk=5, k=3;
        while(k--)
        {
                do
                {
                        printf("\t\t\t");
                        for(j=i;(j/2);j-=2)printf("\b");
                        for(j=i;(int)NULL!=j;j--)printf("*");
                        printf("\n");
                }while(brk>=(i+=2));
                brk=(5==brk?7:9);
                i=(7==i?3:5);
        }
        k=2;
        while(k--)printf("\t\t\t\b|||\n");
}

Da sieht man wieder wie grauslich man die c syntax verbiegen kann, ich mag c vor allem deswegn so :D
 
Vollkommen überflüssig, sorry, aber da konnte ich nicht widerstehen -- der Baum als printf-Spielerei mit nur einer Loop:

Code:
#include <stdio.h>

main(int ac, char **av)
{
        int l = ac>1?atoi(av[1]):3, i;
        for ( i = 0; i<3*l; i++ ) {
                printf("%*s%*.*s\n", 3*l/2-i/3-i%3+1, "",
                        2*(i/3+i%3)+1, 2*(i/3+i%3)+1,
                        "*********************"
                );
        }
        printf("%*s%.*s\n", l<2?2:3*l/2, "", l<2?1:3, "|||");
}

sollte sich ohne Warnungen mit gcc übersetzen lassen; Anzahl der Ebenen (1 - 9) kann auf der Kommandozeile übergeben werden, Standard ist 3.

:D
 
Vollkommen überflüssig, sorry, aber da konnte ich nicht widerstehen -- der Baum als printf-Spielerei mit nur einer Loop:

Code:
#include <stdio.h>

main(int ac, char **av)
{
        int l = ac>1?atoi(av[1]):3, i;
        for ( i = 0; i<3*l; i++ ) {
                printf("%*s%*.*s\n", 3*l/2-i/3-i%3+1, "",
                        2*(i/3+i%3)+1, 2*(i/3+i%3)+1,
                        "*********************"
                );
        }
        printf("%*s%.*s\n", l<2?2:3*l/2, "", l<2?1:3, "|||");
}

sollte sich ohne Warnungen mit gcc übersetzen lassen; Anzahl der Ebenen (1 - 9) kann auf der Kommandozeile übergeben werden, Standard ist 3.

:D

Es war mir klar, dass man c sehr verbiegen kann, aber das übertrifft doch sehr viel.
 
Code:
#include <alleswasincludedwerdenmuss.h>

int main()
{
   int fd = open("~/Weinachtsbaum.txt", O_RDONLY);
   char baum[1024];
   read(fd, baum, 1024);
   printf("%s", baum);
   close(fd);
}

mein baum^^
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

und sagt nich dass der nich dynamisch is, man braucht nur die Weinachtsbaum.txt datei ändern! der is sogar so dynmaisch, dass man mit der nötigen kreativität sogar nen osterhasen draus machen kann!
 
Zuletzt bearbeitet:
An foexle,
wieso einen Compiler schreiben? Der ist doch vorhanden und wird meines wissens gcc genannt. Sollte bei jedem Linux-System vorhanden sein. C ist der Vorlaeufer von C++, wer C++ lernen will, muss erst C lernen. Laien wie ich unterscheiden nicht nach C und C++. C ist C und C++ ist einfach weiterlernen. OK? Zumal in C++ alle Befehle von C vorkommen und auch wie in C funktionieren. War was falsch?
An Tomekk228,
ich muss zugeben, ich verstehe nicht was Du da meinst. Ich gehe aber mal davon aus, Du weisst nicht wie das alles gehen soll. Nun, aufwendig wird es alle mal. Aber keine Angst. Was braucht man?
Man schreibt, also braucht man einen Editor (Vi, Emacs, KWrite) guck mal nach was Du hast. Es muss ein reiner ASCII-Editor sein. Und den haelt Linux vor.
Man braucht eine Basis auf der man aufbaut. Linux hat C/C++. Wer sich mal die Sache mit den Header-Dateien durch den Kopf gehen laesst, wird sehr schnell feststellen, dass man damit eigene Befehle basteln kann. Beispiel :
Input = Fressen
Output = Brechen
In der Header-Datei Fressen kann man dan mit C-Befehlen Die Eingabe beschreiben.
Brechen.h das gleiche mit der Ausgabe. Die Worte Brechen und Fressen stehen nur im Quelltext. Durch include werden diese Worte durch original C/C++ Worte ausgetauscht. Sicher, man braucht dann zwei Quelltexte. Text A = (Fressen + Brechen) Text B = (scanf,printf). Text B wird dann compiliert (mit gcc) und dann hat man ein original C-Programm. Zwischen Text A und Text B muss ein Programm stehen, das fuer die sichere Uebersetzung verantwortlich ist und alles regelt. Es gibt sooo viele Moeglichkeiten von Printf, aber nur die benoetigte sollte in Text B stehen.
Hoert sich alles einfach an, ist es ansich auch. Schiesslich kann und sollte jeder Befehl aus Text A durch kleine TestProgramme auf Herz und anderes geprueft werden bevor man eine Header-Datei daraus macht.
Man uebermittelt dann den anderen Kollegen was man so als Rohling gedacht hat, der kann ja auch mal nachdenken und vor allem testen. Rechtzeitig im Kleinen testen erspart eine Menge Aerger und Arbeit. Hat man erstmal den Grundstock, dann kann man weiter machen.
Editor mit Interpreter zum Testen, Datenbank, Bildschirmverwaltung und, und, und ...
Wenn man erstmal einen C-Befehl in der anderen Sprache nachgebildet hat, mit all ihren Moeglichkeiten - den C-Befehl kennt man dann.
Ist dann eine Menge erstellt, dann ist es moeglich unter einen festen Suchweg ein Header-Directory mit allen Befehlen anzulegen. Damit ist eine neue Sprache gebohren die dann C/C++ ist. Diese Sprache kann man nun "WATT'N TATT" nennen.
********************
If you know, what I mean?
********************
Sehr sinnvoll ist es, wenn ein geuebter C-Programmierer mit macht. Der soll nicht schreiben, nur Fragen beantworten. Es wird hier und da schon sehr kompliziert werden. Je hoeher die Ansprueche, je komplizierter.
 
Yomm schrieb:
Laien wie ich unterscheiden nicht nach C und C++. C ist C und C++ ist einfach weiterlernen. OK? Zumal in C++ alle Befehle von C vorkommen und auch wie in C funktionieren. War was falsch?

lol, um es mal mit dem IX-claim auf den Punkt zu bringen: Versteht nicht jeder, ist auch besser so.
 
So, ich hab jetzt 3 mal die 2 Seiten gelesen. Und weiß immer noch nicht worum es hier konkret geht :D

Ich habe neben PHP & MySQL diekt mit C++ angefangen statt mit C (C check ich nicht so, C++ ein wenig schon :D).

Viel Zeit um C++ zu lernen habe ich nicht da ich die meiste Zeit mit PHP & MySQL verbringe. Das einzige was ich mit C++ zustande gebracht habe sind so paar kleine Quiz Tools und mein "Benchmarking" tool :)
 
Eine gute Übung ist, einen C/C++ Algorithmus für das Einstein Rätsel zu entwerfen.

Einstein verfaßte dieses Rätsel im letzten Jahrhundert. Er behauptete, 98 % der Weltbevölkerung seien nicht in der Lage, es zu lösen. Es gibt keinen Trick bei diesem Rätsel, nur pure Logik.

Aufgabenstellung:
1. Es gibt fünf Häuser mit je einer anderen Farbe.
2. In jedem Haus wohnt eine Person einer anderen Nationalität.
3. Jeder Hausbewohner bevorzugt ein bestimmtes Getränk, raucht eine bestimmte Zigarettenmarke und hält ein bestimmtes Haustier.
4. Keine der fünf Personen trinkt das gleiche Getränk, raucht die gleichen Zigaretten oder hält das gleiche Tier wie einer seiner Nachbarn.

Frage: Wem gehört der Fisch?

Ihre Hinweise:

Der Brite lebt im roten Haus
Der Schwede hält einen Hund
Der Däne trinkt gerne Tee
Das grüne Haus steht links vom weißen Haus
Der Besitzer des grünen Hauses trinkt Kaffee
Die Person, die Pall Mall raucht, hält einen Vogel
Der Mann, der im mittleren Haus wohnt, trinkt Milch
Der Besitzer des gelben Hauses raucht Dunhill
Der Norweger wohnt im ersten Haus
Der Marlboro-Raucher wohnt neben dem, der eine Katze hält
Der Mann, der ein Pferd hält, wohnt neben dem, der Dunhill raucht
Der Winfield-Raucher trinkt gerne Bier
Der Norweger wohnt neben dem blauen Haus
Der Deutsche raucht Rothmans
Der Marlboro-Raucher hat einen Nachbarn, der Wasser trinkt

Hier z.B ein kleiner Ansatz für Prolog :)
 

Ähnliche Themen

Aufgabe in C

Mike will C/C++ lernen, nur: wie angehn?

Aufwand der Programmierung für eine solche Anwendung

C++ Klausur durchgefallen

Zurück
Oben