mehrere Variablen mit for Schleife ausgeben
-
man kann ja über folgende Schreibweise mit wenig Zeilen beliebig viele Werte ausgeben:
for (int i;i<400;i++)
{
cout << i << "\n";
return 0;
}Ich muss grad ein Programm schreiben, wo ich 400 Variablen, die sich jeweils nur durch einen Index (bzw durch eine Zahl) unterscheiden, initialisieren muss. Kann ich das mit einer Schleife machen oder muss ich jede Variable einzeln initialisieren? also dass es so ähnlich wie hier aussieht:
for (int i;i<400;i++)
{
int x_i;
return 0;
}Das gleiche gilt für die darauffolgende Rechnung mit jeder dieser Variablen. Kann ich die auch über eine Schleife in wenigen Zeilen schreiben oder muss ich sie jedesmal neu eingeben (was natürlich kein großer stress ist... man hat ja kopieren und einfügen, aber es geht um die übersichtlichkeit)
bin ziemlich neu in c++ und kenn ich deswegen noch nicht so gut aus...
Vielen Dank für Antworten
Stephan
-
das zweite beispiel soll natürlich so heißen...
for (int i;i<400;i++)
{
int x_i = i;
return 0;
}
-
Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum MFC mit dem Visual C++ in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
hallo
ich denke mal das du dies für die schule machen musst.
Also erstens
am anfang hast du ein
int main()
das ist die "hauptfunktion, das hauptprogramm". bevor man dies mit der geschlossenen geschweiften klammer schliesst kommt das return 0 hin. nicht in jeder for schleife! Was du maybe meinst in einer funktion ein return 0 zu machen. wenn du eine funktion schreibst z.b. int var_init() und in dieser hast du die for schleife, DANN bitte das return 0 nach der for schleife! nicht drinnen da du ja dann 400 mal return 0 lieferst!
und bitte initialisiere die int i varibale ein int i alleine geht nicht da es wahrscheinlich irgendeinen sehr grossen negativen wert annehmen wird!
daher
for (int i = 0 ;i<400;i++) // hier bitte mit 0 init. { int x_i = i; //return 0; diese zeile raus! }
so das gröbste wäre geschafft. puh
nun von den c++ grundwissensfehler zu dem grossen denkfehler
Du sollst ja 400 variablen initialisieren. Was du aber machst ist eine einzige variable zu init. Du weisst der ( einzigen ) variablen x_i 400 mal einen wert zu! am ende hast du dann x_i = 400 stehen.
Also nicht 400 variablen init. sondern 400 mal eine init.
Ach noch was, in einer schleife NIE hinschreiben int x = i.
DENN die variable x wird in jedem schleifendurchgang- erzeugt
- einen wert zugewiesen bekommt
- am ende der for schleife dann "ZERSTÖRT"
beim nächsten schleifendurchgang wieder ganz ganze game!
am ende der schleife ( nach deinen 400 malen ) hast du die variable x_i "ZERSTÖRT" und sie existiert nicht mehr. DAHER vor der schleife int x_i = 0; machen in der schleife nurx_i = i;
Zu den 400 Variablen
am besten du nimmst ein ARRAY ( google ist dein kumpel )
ich glaube das sollst du in der aufgabe lernen. einen array zu erzeugenich könnte dir jetzt die "Lösung" sagen, mach ich aber nicht, da dir die elementarsten Sachen ( skillz ) fehlen. Mach mir und dir einen gefallen, und lerne die bisherigen Lektionen NOCHMAL! Erst wenn du das bis hier verstanden hast, kannst du weitermachen. Einfach ne Lösung abschreiben hilft dir nichts.
Wenn du soweit bist, dann SUCHE diesen Post wieder und schreibe die Lösung auf, welche du denkst das sie richtig ist. Dann werde ich mir dies ansehen und eventl. ausbessern.
gruss
newkid
PS. Will dich nicht "fertig" machen, aber dir muss klar sein, das du mehr machen musst, als die Lösungen nur abschreiben.