Vortlaufende Nummerierung einer Variabelen
-
Hallo erstmal
habe früher viel gebatch und will jetzt auf C umsteigen.
Jetzt würde ich gerne wissen, wie man die Variablen fortlaufend nummerriet, sodass mann aus dem:
cout <<variable1<<variable2<<variable3<<variable4<<variable5<<endl;
das machen kann:
int zahl=1; while(i!=5) { cout <<variable'zahl'; zahl++; i++; }; cout <<endl;
thx
-
Als Tipp: Anstatt beispielsweise 1000 Variablen zu erzeugen, kannst du ganz einfach ein Array anlegen. Dies sähe wie folgt aus:
int arr[]={1,2,3,4,5}; for (int i=0;i!=5;++i) std::cout << arr[i] << std::endl;
Diese Methode kann sehr störend sein, da du keinerlei Kontrolle über die Größe des Arrays hast. Ich empfehle Dir, dich in Container einzuarbeiten. Mit einem vector oder einer map kannst du viel besser arbeiten, als mit einem Array.
Achtung: obiger Vorschlag mit dem Container ist NUR in C++ möglich.
-
Hmm, tach,
erst mal frag ich, mit was du dein i initialisieren willst.
Prinzipiell nennt man, was du dir vorstellst,
gemeinhin Metaprogrammierung und
ist mit C++ und ähnlich "primitiven" Programmiersprachen
nicht möglich ohne sich einen abzubrechen.Aber mit einer kleinen Abwandlung ist das was du willst,
vermutlich möglich...Benutze einen Array
int zahl=1; int variable[5]; while(i!=5) { cout <<variable[zahl-1]; zahl++; i++; }; cout <<endl;
so oder so ähnlich müßte es gehen.
-
Da gibt es vielerlei Containerklassen in der Standardbibliothek, die gängigste (weil fast immer passend) ist std::vector:
#include<vector> // ... std::vector<int> variable(5); // Erzeugt 5 ints, ansprechbar über variable[0] bis variable[4].
Vector kann auch allerlei andere tolle Sachen. Zum Beispiel kann man dynamisch die Größe anpassen. Daher ist es eher unüblich schon im Vorhinein eine Größe zu setzen (im Beispiel 5, kann man natürlich trotzdem immer noch später ändern), sondern man packt einfach bei Bedarf neue Elemente ans Ende. Kommt halt auf den Anwendungsfall an.
Das Forum ist aber nicht die richtige Plattform um eine komplette Einführung in vector und die anderen Container zu geben. Das sollte im Grundlagenkapitel eines guten Lehrbuchs vorkommen. Ich meine es gibt auch einen Artikel im Magazin (den ich gerade nicht finde
), der allerdings schon etwas mehr Sprachverständnis voraussetzt.
P.S.: Und versuch bitte als Anfänger Arrays zu meiden, trotz der beiden Vorposter. Sonst bist du zwei Stunden später wieder mit einer Frage im Forum, weil es nicht so funktioniert wie du denkst. Arrays verhalten sich in C++ sehr unintuitiv (da anders als alle anderen Datenstrukturen).
-
Ja, also das mit dem Array läuft auf jeden Fall wunderbar, und das mit den containern werde ich mir bei Zeiten mal zu Gemüte führen.
Vielen dank für die schnellen Antworten
-
SeppJ schrieb:
Da gibt es vielerlei Containerklassen in der Standardbibliothek, die gängigste (weil fast immer passend) ist std::vector:
#include<vector> // ... std::vector<int> variable(5); // Erzeugt 5 ints, ansprechbar über variable[0] bis variable[4].
Vector kann auch allerlei andere tolle Sachen. Zum Beispiel kann man dynamisch die Größe anpassen. Daher ist es eher unüblich schon im Vorhinein eine Größe zu setzen (im Beispiel 5, kann man natürlich trotzdem immer noch später ändern), sondern man packt einfach bei Bedarf neue Elemente ans Ende. Kommt halt auf den Anwendungsfall an.
Das Forum ist aber nicht die richtige Plattform um eine komplette Einführung in vector und die anderen Container zu geben. Das sollte im Grundlagenkapitel eines guten Lehrbuchs vorkommen. Ich meine es gibt auch einen Artikel im Magazin (den ich gerade nicht finde
), der allerdings schon etwas mehr Sprachverständnis voraussetzt.
P.S.: Und versuch bitte als Anfänger Arrays zu meiden, trotz der beiden Vorposter. Sonst bist du zwei Stunden später wieder mit einer Frage im Forum, weil es nicht so funktioniert wie du denkst. Arrays verhalten sich in C++ sehr unintuitiv (da anders als alle anderen Datenstrukturen).
Du meinst warscheinlich das hier:
http://magazin.c-plusplus.net/artikel/Aufbau%20der%20STL%20-%20Teil%201%3A%20Container
http://magazin.c-plusplus.net/artikel/Aufbau%20der%20STL%20-%20Teil%202%3A%20Iteratoren%20und%20Algorithmen
http://magazin.c-plusplus.net/artikel/Aufbau%20der%20STL%20-%20Teil%203%3A%20Hilfsklassen%20und%20Erweiterungen@parwar:
Den 1.Link kannst du dir auf jeden Fall mal durchlesen für einen Einstieg in die Container;-)Lg freeG