Brauche Hilfe bei 2 kleinen Programmen
-
PwN0GrPhy schrieb:
... und dann muss ich noch auf den Zug warten usw...
Prima Zeit ein Buch zu lesen.
PwN0GrPhy schrieb:
Und wenn man nicht weiss wie man den Fehler behebt wird man auch nicht viel schlauer oder?
Ausserdem wenn ich alles wüsste, müsste ich ja nicht nachfragen...Das sieht so aus, als ob du noch nicht mal die einfachsten Programme (z.B. "Hallo Welt!", 10 * "Hallo Welt!", Ausgabe der ersten n Quadratzahlen) gemacht hast.
Dann hättest du schon ein Grundgerüst.
-
hello world haben wir schon "gelernt". "Gelernt" weil Codeblocks(in dem Coden wir) das immer als vorlage liefert, wenn man eine neue .c Datei macht. und bei Hello world muss man nur die einfachste form von printf machen, ned ma strings oder variablen muss man machen/benutzen.
im zug mache ich die aufgabe oda hole mir was zu essen, wenn er noch nicht da is.
-
Super. Und jetzt machst du ein Programm das 10x "Hallo Welt" ausgibt, aber nur einmal den Text "Hallo Welt" und weniger als 10 Semikolons enthält.
Dann ein Programm, welches eine Zahl N einliest und alle Zahlen bis zu dieser Zahl ausgibt.
Und dann ein Programm, welches eine Zahl N einliest und dann alle Quadratzahlen bis(!) zu dieser Zahl ausgibt (also bei Eingabe 13 Ausgabe 1 4 9).
Und dann ein Programm, welches die Summe der ersten N Zahlen ausrechnet. Bonuspunkt mit drei goldenen Sternchen, wenn das Programm keinerlei Schleife enthält, dabei aber nur 3 Semikolons.
-
SeppJ schrieb:
Super. Und jetzt machst du ein Programm das 10x "Hallo Welt" ausgibt, aber nur einmal den Text "Hallo Welt" und weniger als 10 Semikolons enthält.
Dann ein Programm, welches eine Zahl N einliest und alle Zahlen bis zu dieser Zahl ausgibt.
Und dann ein Programm, welches eine Zahl N einliest und dann alle Quadratzahlen bis(!) zu dieser Zahl ausgibt (also bei Eingabe 13 Ausgabe 1 4 9).
Und dann ein Programm, welches die Summe der ersten N Zahlen ausrechnet. Bonuspunkt mit drei goldenen Sternchen, wenn das Programm keinerlei Schleife enthält, dabei aber nur 3 Semikolons.aha? oO
-
PwN0GrPhy schrieb:
aha? oO
Du brauchst eindeutig mehr Grundlagen, weil du sie nicht vernünftig gelernt hast. Dies sind gute Übungen auf deinem Niveau, die du auch mal schnell auf einer Zugfahrt programmieren können solltest.
-
PwN0GrPhy schrieb:
SeppJ schrieb:
Super. Und jetzt machst du ein Programm das 10x "Hallo Welt" ausgibt, aber nur einmal den Text "Hallo Welt" und weniger als 10 Semikolons enthält.
Dann ein Programm, welches eine Zahl N einliest und alle Zahlen bis zu dieser Zahl ausgibt.
Und dann ein Programm, welches eine Zahl N einliest und dann alle Quadratzahlen bis(!) zu dieser Zahl ausgibt (also bei Eingabe 13 Ausgabe 1 4 9).
Und dann ein Programm, welches die Summe der ersten N Zahlen ausrechnet. Bonuspunkt mit drei goldenen Sternchen, wenn das Programm keinerlei Schleife enthält, dabei aber nur 3 Semikolons.aha? oO
SeppJ versucht dir mittelschwere Aufgaben zu stellen, damit du üben kannst. Mach mal diese einfachen Übungs-Programme. Am Anfang grübelst du vielleicht, aber früher oder später hast du den Einfall. Und genau das musst du als Anfänger lernen:
- Problem analysieren
- Lösung überlegen
- Diese dann als Algorhitmus implementieren
- Testen: Falls richtig: Glückwunsch, falls falsch: wieder zu Schritt 2
-
SeppJ schrieb:
Und dann ein Programm, welches die Summe der ersten N Zahlen ausrechnet. Bonuspunkt mit drei goldenen Sternchen, wenn das Programm keinerlei Schleife enthält, dabei aber nur 3 Semikolons.
Mit 2 Semikolons:
int sum(int n) { return( ( n <= 0 ) ? 0 : (n + sum( n - 1 )) ); } int main( int argc, char *argv[] ) { return( sum( argc - 1 ) ); }
errorlevel = summer 1
errorlevel = summer 1 1
errorlevel = summer 1 1 1
...
-
Das ist auch eine schöne Lösung, aber das zähle ich als verkappte Schleife
. Ich dachte eher an die clevere Lösung, auf die man durch richtiges Nachdenken kommt (bitte nicht verraten!). Gewisse Genies würden sagen, das wäre kinderleicht *hint*.
-
Ist das nicht in etwa dasselbe Problem wie:
1. Fig: X 2. Fig: XX X 3. Fig: XXX XX X 4. Fig: XXXX XXX XX X usw. Wieviele X hat die 20. Fig
Wenn ja: Ich kenn die Lösung, die ist:
Nö, so gemein bin ich mal nicht
-
Oder #2 (klappt aber nur bedingt):
int sum(int n) { return( ( n <= 0 ) ? 0 : (n + sum( n - 1 )) ); } int main( int argc, char *argv[] ) { printf( "%d\n", sum( argc > 1 ? (*argv[1] - 0x30) : 0 ) ); }
summer 1
summer 2
summer 3
...
-
@EOP: Nix Schleife und auch nix Rekursion. Gibt ne viel einfachere Lösung.
-
#3: Gauß :p
SeppJ hat doch gesagt - nix verraten.
Die Beiden waren nur Spielereien...
-
@EOP
Was soll denn das 0x30 ?
Meinst du damit '0' ?Dann schreib das doch auch!
-
DirkB schrieb:
@EOP
Was soll denn das 0x30 ?
Meinst du damit '0' ?Dann schreib das doch auch!
Ich benutze hex für ascii gewohnheitsmäßig seit zig Jahren. Tschuldigung.
Aber sum will ja auch ein int und nix mit Hochkommas.
-
ASCII. Pah, wie eingeschränkt.
Und '0' ist doch ein int. Genau so wie 'A'.
-
DirkB schrieb:
ASCII. Pah, wie eingeschränkt.
Und '0' ist doch ein int. Genau so wie 'A'.
Hätte eigentlich erwartet, daß du dich beschwerst weil ich Hochkammas und nicht Hochkommata geschrieben hab.
-
EOP schrieb:
Hätte eigentlich erwartet, daß du dich beschwerst weil ich Hochkammas und nicht Hochkommata geschrieben hab.
Warum sollte ich mich beschweren? Im Post hast du es ja noch richtig geschrieben (Rechtschreibung): Hochkommas
Im Duden steht:
"das Komma; Genitiv: des Kommas, Plural: die Kommas und Kommata"
-
DirkB schrieb:
EOP schrieb:
Hätte eigentlich erwartet, daß du dich beschwerst weil ich Hochkammas und nicht Hochkommata geschrieben hab.
Warum sollte ich mich beschweren? Im Post hast du es ja noch richtig geschrieben (Rechtschreibung): Hochkommas
Im Duden steht:
"das Komma; Genitiv: des Kommas, Plural: die Kommas und Kommata"Hab's gesehen war aber zu faul für'n edit.
Und nächstes Mal schreib' ich 060 statt 0x30...
-
EOP schrieb:
Und nächstes Mal schreib' ich 060 statt 0x30...
Wird Zeit, dass der Standard endlich binäre Zahlen erlaubt.
-
Habs jetzt seit paar Tagen fertig. Wenns wer wissen will, hier sind die Codes:
#include <stdio.h> int main(void) { double zahl = 0; int h = 0; printf("Geldschein/Muenzen-Berechnungs-Programm \n"); //Titel es Programms printf("======================================== \n \n"); //Trennzeile printf("Betrag in Euro --> "); //Eingabeaufforderung des Betrags(in Euro) scanf("%lf", &zahl); //Hier wird das vom User eingegebene eingelesen zahl *= 100; //Hier wird der Betrag in Cent umgerechnet printf("\n"); //Zeielumbruch(damits besser aussieht) h = zahl / 50000; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 500 Euro-Schein(e)\n", h); //500 Euro Scheine benoetigt werden zahl -= (h * 50000); h = zahl / 20000; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 200 Euro-Schein(e)\n", h); // 200Euro Scheine benoetigt werden zahl -= (h * 20000); h = zahl / 10000; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 100 Euro-Schein(e)\n", h); // 100Euro Scheine benoetigt werden zahl -= (h * 10000); h = zahl / 5000; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 50 Euro-Schein(e)\n", h); // 50Euro Scheine benoetigt werden zahl -= (h * 5000); h = zahl / 2000; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 20 Euro-Schein(e)\n", h); // 20Euro Scheine benoetigt werden zahl -= (h * 2000); h = zahl / 1000; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 10 Euro-Schein(e)\n", h); // 10Euro Scheine benoetigt werden zahl -= (h * 1000); h = zahl / 500; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 5 Euro-Schein(e)\n", h); //5Euro Scheine benoetigt werden zahl -= (h * 500); h = zahl / 200; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 2 Euro-Muenze(n)\n", h); // 2Euro Muenzen benoetigt werden zahl -= (h * 200); h = zahl / 100; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 1 Euro-Muenze(n)\n", h); // 1 Euro Muenzen benoetigt werden zahl -= (h * 100); h = zahl / 50; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 50 Cent-Muenze(n)\n", h); // 50Cent Muenzen benoetigt werden zahl -= (h * 50); h = zahl / 20; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 20 Cent-Muenze(n)\n", h); // 20Cent Muenzen benoetigt werden zahl -= (h * 20); h = zahl / 10; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 10 Cent-Muenze(n)\n", h); // 10Cent Muenzen benoetigt werden zahl -= (h * 10); h = zahl / 5; //In diesen 3 Zeilen wird berechnet & ausgegeben wie viele printf("%d 5 Cent-Muenze(n)\n", h); // 5Cent Muenzen benoetigt werden zahl -= (h * 5); h = zahl / 2; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 2 Cent-Muenze(n)\n", h); //2Cent Muenzen benoetigt werden zahl -= (h * 2); h = zahl / 1; //In diesen 3Zeilen wird berechnet & ausgegeben wie viele printf("%d 1 Cent-Muenze(n)\n", h); // 1Cent Muenzen benoetigt werden zahl -= (h * 1); return 0; }
#include <stdio.h> int main (void) { double kapital, zinssatz, zinsen; int j, m, d; printf("Kapital (in Euro) --> "); //Eingabeaufforderung fuer den Betrag in Euro scanf("%lf", &kapital); //Das Kapital wird eingelesen (in Euro) printf("Zinssatz (in %%) --> "); //Eingabeaufforderung des Zinssatzes in Prozent scanf("%lf", &zinssatz); //Der zinssatz wird eingelesen(in %) printf("Verzinsungsdauer (im Format j-m-d) --> "); //Eingabeaufforderung der Verzinsungsdauer scanf("%d-%d-%d", &j, &m, &d); //Verzinsungsdauer wird eingelesen printf("---------------------------------------------------\n"); //Trennzeile zinsen = (kapital * zinssatz * (j * 360 + m * 30 + d)) / (100 * 360); //Hier wird alles ausgerechnet printf("Es ergeben sich Zinsen von %.2f Euro.\n", zinsen); //Hier wird ausgegeben wv Zinsen es sind(in Euro) printf("Wert des einfach verzinsten Gesamtkapitals: %.2f Euro.\n", kapital + zinsen); //Hier wird der Wert des einfach verzinsten Gesamtkapitals ausgegeben return 0; }
MfG
Btw.: kann geclosed werden