Warum gehts nich??
-
Firefighter
Was für nen nonsense das mal wieder ist ...#include <iostream> using namespace std; // grml ... int main() { int i = 1; // wofür außerhalb der for schleife? wofür negativ? int summe = 0; // vollkommen überflüssig for (i=1; i < 1000; i++) // zählst nur bis 999 { summe = summe + 1; // hmm und wofür ist i? cout<<summe<<"\n"; // std::endl ist ne nette Erfindung ... } system("PAUSE"); // und das wohl eher eine extrem schlechte. }Edit
Hmm bis ich eure Usernames richtig geschrieben hab ^^ Omg ... naja ...
-
jetzt mach ma halblang, nur weil ich net so perfekt wie du bist musste hier nich sowas ablassen, für mich war es ein erfolg das es geklappt,und das kann man anfängern doch auch ma einräumen, anstatt solche sinnlosen kommentare hinter das zeug zu schreiben solltest du es vieleicht einfach ma erklären damit anfänger wie ich es verstehe was sie falsch gemacht haben

EDIT wollte nur sagen, das ich es besser finden würde wenn man es erklärt was falsch ist, denn wie du sicherlich gesehen hast an meinen beiträgen das ich noch net solange in der materie stehe.Und ich es beim nächsten ma verstehe denn, die kommentare nützen mir nicht viel wenn sie nciht interpretiert werden.
-
in der kürze...
#include <cstdio> int main( int argc, char **argv[ ] ) { std::printf( "%i", argc ); if( argc < 1000 ) { std::printf( ", " ); main( ++argc, 0 ); } }liegt die Würze

greetz, Swordfish
-
Hmm hab doch meine Teil erklärt ... naja ok legen wir mal los:
#include <iostream> using namespace std; // Ich sehe lieber, in welchem namespace ich mich // befinde, aber ok, dass kann man machen. int main() { // int i = 1; /* Warum willst du i schon hier anlegen? Dann existiert */ /* i auch noch nach der Schleife ... und das brauchst das */ /* braucht i nicht. In diesem Fall zwar nicht tragisch ... */ /* aber unschön. Und die zuweisung in der Schleife ist dann */ /* auch überflüssig */ // int summe = 0; /* Du zählst i doch schon in der Schleife hoch. Warum willst*/ /* du dann noch eine Variable hochzählen? */ for (unsigned int i = 0; i < 1000; ++i) /* unsigned, weil du ja von Zahlen im positiven */ /* Bereich ausgehst. Wenn du bei 1 anfängst */ /* zählst du nur 999 mal hoch. Entweder du setzt*/ /* als Bedingung <= 1000 oder du fängst bei 0 an*/ /* und addierst bei der Ausgabe 1 hinzu */ { // summe = summe + 1; /* Du zählst doch i schon hoch. Siehe oben! // cout << summe << "\n"; /* hier entweder i ausgeben (wenn die Bedingung der for-*/ /* Schleife <= 1000 ist) oder (i + 1), wenn die Beding- */ /* ung < 1000 ist. std::endl flusht den Buffer direkt */ /* und fügt ein Newline-Zeichen an. Dazu solltest du */ /* auch was mit der Suche finden! */ cout << (i + 1) << endl; } system("PAUSE"); /* Such dazu mal mit der Suche ;) */ }
-
Swordfish ... das ist ja babaa
main-Rekursiv ... was sacht der Std. dazu? 
#include <iostream> int main() { for (std::size_t i = 1; i <= 1000; ++i) std::cout << i << std::endl; }?

-
ok alles klar danke, jetzt ist es klarer, nur ich habe den code ja vorhin nicht gemacht, habe ihn einfach nur übernommen von dem autor und so hinzubiegen wie er es wollte und da wollte ich nicht zu viele sachen verändert, aber ok hastes erklärt und das sogar sehr gut, danke

-
Vielen Dank für eure vielen Antworten, nur leider müssen die Zahlen angezeigt werden: 1,2,3,4, usw.... 1000 Ich hoffe ihr versteh was ich meine...
-
wen du meine nimmst werden sie angezeigt, bei mir zumindest

-
dann steht bei mir ...
1001 drücken sie enter um das programm zu beenden
=S
-
naja du musst anstatt <1000 entweder <= 1000 oder < 999 , dann wird bis 1000 gezählt
-
Dann werden mir aber imma noch nich alle Zahlen von 1- 1000 angezeigt, sondern wieder das gleiche wie eben nur dann mit 999

-
Lies bitte einfach mal was ich zu den einzellnen Codes geschrieben hab.... und probier mal den Code den ich selbst geschrieben hab aus

-
#include <iostream> int main(int argc, char *argv[]) { for(int i = 1;i <= 1000;i++) { std::cout << "Aktuelle Zahl: " << i << std::endl; } std::cout << "Bitte Enter druecken"; std::cin >> i; return 0; }evtl. ne lösung
-
Das Problem, dass es nicht angezeigt wird, könnte an der Konsole liegen. Ist mir auch schon einmal passiert, dass der nur die paar letzten Zeilen angezeigt hat. Die Programme funktionnieren also schon, nur siehst du es nicht richtig.
#include <iostream> using namespace std; int main(){ for(int i=1;i<1001;++i){ cout<<i<<endl; if(i%100==0){ //Jede 100ste Zahl stoppen wir einmal und warten auf einen Enter-Druck cin.clear(); cin.get(); } } cin.clear(); cin.get(); return 0; }Versuch das mal und sag mir ob es geht.
PS: falls es eine Hausaufgabe ist: nimm die normale Lösung in die Schule und sag, dass es nicht geht.#include <iostream> using namespace std; int main(){ for(int i=1;i<1001;++i) cout<<i<<endl; cin.get(); }Ansonsten: hast du deine Fehler verstanden? Du hast in deinem Code da ein paar grausige Sachen geschrieben.
-
@ Shinja : Der letzte Code hat gefunzt, danke! Die anderen alle mehr oda weniger nich KA warum... Und um ehrlich zu sein, nein ich verstehs nicht alles. Das is das erste Thema was ich nich verstehe... Ich bin sonst eigentlich gut in Info =S DaS mit Iosstream.h kommt da imma von alleine wenn ich ein neues Programm schreiben will und dann lass ichs immer einfacht und sonst... Joar ich kann mir einfach nich virstellen wann ich cout, cin irgendne schleife oda sonst was nehmen muss... Ich habs auch schon mit so nem Tutorial für c++ versucht aba geholfen hats mir nich viel -.-"
@(D)Evil : Du hattest 3 gepostet und bei denen war es das gleich wie bei allen anderen ausser dem letzten: Fehler, zeigt nur 1000 oder da steht 1000, drücken sie enter um das programm zu schließen...
ABer ich wollte ja alle Zahlen von 1-1000 da stehen haben... Und auch mit rumprobieren hab ichs nich geschafft
-
Freut mich, dass es geht.
Also, du solltest dich jetzt dann mal sehr gut damit auseinandersetzen, sonst hängst du später ordentlich.
Nehmen wir mal dein Programm das du ganz am Anfang gepostet hast. Was passiert nun da?
#include <iostream.h> #include <stdlib.h> int main() { int i = 1; //wir legen eine int-Variable namens i an und geben ihr den Wert 1 int summe = 0; //eine int-Variable namens Summe mit Wert 0 while (i < 1000) /solange wie i kleiner als 1000 ist mach das, was zwischen den {} steht { summe = summe + 1; //Summe um 1 erhöhen i++; //i um 1 erhöhen } //hier ist deine while-Schleife zu Ende. Wie du siehst hast du gar nichts ausgegeben. //Du hast einfach nur dauernd deine Variablen um 1 erhöht. Wenn du es ausgeben willst //dann musst du das, was ausgibt (nämlich cout) in die Schleife schreiben return (i++); //Main ist eine Funktion. Du sorgst jetzt dafür, dass diese Funtkion i+1 zurückgibt. //Das ist relativ sinnfrei, da du mit dem Wert nichts anfangen kannst. system("PAUSE"); }Was macht der richtige Code:
#include <iostream> using namespace std; int main(){ for(int i=1;i<1001;++i) cout<<i<<endl; //das hier ist eine for Schleife. Sozusagen eine verkürzte Version für: /*int i=1; //eine int-Variable namens i, in die wir den Wert 1 schreiben while(i<1001){ //solange i kleiner als 1001 ist cout<<i<<endl; //gib den Wert von i aus und geh in eine neue Zeile ++i; //erhöhe i um 1 }*/ cin.get(); //warte auf einen Druck auf Enter }Hat es etwas geholfen?
-
So langsam werdet ihr hier immer unverschämter. Wenn ihr einfach unfähig seid, könnt ihr nicht behaupten, dass der Code nicht korrekt sei.
#include <iostream> int main() { std::cout << "Bis: " << std::endl; // "Bis: " ausgeben std::size_t to = 0; // lokale Variable to vom Type std::size_t (unsigned int) anlegen std::cin >> to; // Wert einlesen for (std::size_t i = 0; i < to; ++i) // von 0 bis (to - 1) hochzählen std::cout << (i + 1) << std::endl; // i + 1 ausgeben ... std::cin.clear(); // eingabebuffer leeren std::cin.ignore(std::cin.rdbuf()->in_avail()); std::cin.get(); // auf eingabe warten ... }Hab ich dir als 1. Anwort gegeben. Dabei hab ich dir sogar schon eingebaut, dass du eingeben kannst, bis wohin gezählt werde soll und das er am Ende die Konsole solange aufhält, bis du [Enter] drückst. Hättest du dir mal alle Antworten auf den Thread hier durchgelesen, wären dir einige Fehler in deinem Programm deutlich geworden. Aber du zeigst eine Ignoranz, die auch nicht durch schlichtes Unwissen zu entschuldigen ist!

Shinja
Ist ja nett das du einen Lösungsansatz zeigst. Nur gilt auch für dich das Lesen mal angebracht wäre. Auf der 1. Seite standen mehrere Versionen. Jeweils hab ich zu den Vorschlägen Verbesserungen und Fehlerbeseitigungen angebracht. Warum bringt ihr dann noch mehr Beispiele? Das jemand nen "Hello World"-Niveau-Programm geschrieben bekommt, muss er nicht beweisen.
Dein Programm ist übrigens auch nicht vollkommen. Hast nen paar Sachen die nicht so schön sind. Hättest du mal auf der 1. Seite gelesen was da stand, hättest auch du noch nen paar Sachen dazu gelernt.
Mit freundlichen Grüßen

Deviloper
-
Soweit ich weiß wird vorgeschrieben (oder sollte man) <iostream> statt <iostream.h> zu nutzen. Musste aber jemand anders fragen, wenn du es wissen möchtest.
mfg
-
? Kannst auch nicht lesen oder wie? Steht auch schon auf Seite 1.
-
@(D)Evil : Woher willst du wissen, dass ich nicht alles gelesen habe?! Habe ich und dein Code geht mit sicherheit, bin ich sicher allerdings kam nicht da raus was ich brauchte (leider weiß ich nicht mehr auswendig, was da stand sorry)! Und was das "Hello-World-Programm"Niveau angeht, weiter sind wir auch noch nicht wirklich

@Shinja : Ja hat es, danke!! Mein Problem ist halt immer, ich weiß nicht wann ich elche Schleife benutze, wann und wo ich cin oder cout schreibe usw. Wir haben schon wieder eine Aufgabe aufbekommen, die werde ich am WE mal ausprobieren... So langsam versteh ich es etwas besser denke ich
