Startfehler
-
Okay
fertig
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int wert, wert2; printf("Anfangswert: "); scanf("%i", &wert); printf("Endwert: "); scanf("%i", &wert2); for(int i = wert; i <= wert2; i++) printf("\n%i ins Quadrat ist: %i", i, i * i); system("PAUSE"); return 0; }
Was sagt Ihr?
-
Funktioniert einwandfrei!
Nun behandle das Problem, wenn der Startwert größer ist, als der Endwert.
Ein kleiner Hinweis: if()else Konstrukt verwenden.
-
ok, mom
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int wert, wert2; printf("Anfangswert: "); scanf("%i", &wert); printf("Endwert: "); scanf("%i", &wert2); if (wert < wert2) { for(int i = wert; i <= wert2; i++) printf("\n%i ins Quadrat ist: %i\n", i, i * i); } else if (wert > wert2) { for(int i = wert; i <= wert2; i--) printf("\n%i ins Quadrat ist: %i\n", i, i * i); } system("PAUSE"); return 0; }
Aber dann wird vom erdwert zum anfangswert gezählt...
-
[quote="Windassel"]
for(int i = wert; i <= wert2; i++)
[/cpp]was für einen compiler du hast`?
-
Windassel schrieb:
for(int i = wert; i <= wert2; i++)
was für einen compiler du hast haben tun?
-
Und da haben wir mal ein Beispiel für unnötige Code-Duplikation. Versuch' doch mal, das letzte Programm mit einer Schleife zu lösen
(kleines Stichwort: kombinierte Zuweisungsoperatoren ala +=)
Big Brother schrieb:
Windassel schrieb:
for(int i = wert; i <= wert2; i++)
was für einen compiler du hast haben tun?
Offenbar einen etwas moderneren
(zur Erklärung: Im ursprünglichen C konnte man Variablen nur am Block-Anfang definieren, C++ (eventuell auch C99) ist etwas flexibler, so daß Definitionen im Schleifenkopf zulässig sind)
-
CStoll schrieb:
Offenbar einen etwas moderneren
ja, oder einen c++ compiler. es soll ja leute geben, die sich nach etlichen wochen gewöhnung an manch eine bequemlichkeit der c++ syntax wundern, dass sich plötzlich programme mit c syntax nicht compilieren lassen, wenns z.b. ans thema malloc geht.
-
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int wert, wert2; printf("Anfangswert: "); scanf("%i", &wert); printf("Endwert: "); scanf("%i", &wert2); if (wert < wert2) { for(int i = wert; i <= wert2; i++) printf("\n%i ins Quadrat ist: %i", i, i * i); } else if (wert2 < wert) { for(int i = wert; i >= wert2; i--) printf("\n%i ins Quadrat ist: %i", i, i * i); } system("PAUSE"); return 0; }
-
Und das ganze noch mal besser formatiert:
#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int wert, wert2; printf("Anfangswert: "); scanf("%i", &wert); printf("Endwert: "); scanf("%i", &wert2); if (wert < wert2) { for(int i = wert; i <= wert2; i++) printf("\n%i ins Quadrat ist: %i", i, i * i); } // jetzt kannst du gleich sehen, dass die Klammer zum if gehoeren soll ... else if (wert2 < wert) { for(int i = wert; i >= wert2; i--) printf("\n%i ins Quadrat ist: %i", i, i * i); } // ... und nicht zum for system("PAUSE"); return 0; }
-
habt Ihr sonst noch Aufgaben?
-
Windassel schrieb:
habt Ihr sonst noch Aufgaben?
Versuchs mal hier:
http://projecteuler.net/problems
-
gibts det auch auf deutsch?
-
okyy
thx
-
hat wer anders noch irgendwelche leichten aufgaben parrat? Hab heute mal meinen EDV Lehrer gefragt, der will mir aber keine aufgaben geben Oo
-
ja, jemand hat:
programm liest wörter ein, die der benutzer in der konsole eingibt.
die maximale wortlänge beträgt 64 zeichen.
für jedes wort ist speicher mit malloc zu reservieren.
wird ein zu langes wort eingegeben, so wird dieses mit einem hinweis verworfen und
der eingabepuffer wird geleert.
die wörter werden während des einlesens in einem char** array gespeichert.
wenn der benutzer die eingabetaste drückt, ohne ein wort eingegeben zu haben, dann
wird das einlesen beendet.
die wörter im array werden in einer textdatei "words.txt" ( optional sortiert ) gespeichert, jedes wort in einer separaten zeile.
anschließend ist eine funktion zu schreiben, welche die textdatei öffnet und
den textinhalt zeilenweise ausgibt.:p
-
Windassel schrieb:
Was ich bis jetzt gemacht habe: Variablen, mathematische funktionen, verzweigen, if else, break, switch case, default und bin jetzt bei schleifen angekommen. Was könnte ich mit dem Wissen noch so programmieren?
Hast du das gelesen, was ich geschrieben habe?
danke für die Mühe
-
es schadet ja nicht, mal ein bisschen vor zu arbeiten ...
-
1. Schreib ein Programm, welches eine Anfangszahl und eine Endzahl einliest. Achte darauf, daß die Anfangszahl kleiner als die Endzahl ist ! Ausgegeben werden soll jede dritte Zahl, die sich zwischen der Anfangszahl und der Endzahl befindet.
Hab die Aufgabe gefunden, und bin gerade dran die zu lösen...garnicht mal so leicht mit ner while schleife
-
Warum machst du das mit ner while-Schleife? Geht doch viel einfacher mit ner for-Schleife.
-
die aufgabenstelltung verlangt es so, was ich vorhin vergessen habe zu posten
und ich weiß weder wo der unterscheid zwischen ner for und ner while-schleife liegt