Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

terrible1

Frischling

  • »terrible1« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Freyung

Beruf: Schülern

  • Private Nachricht senden

1

14.03.2008, 14:51

Variablen

Ja, ich weiß, ich war lange nicht mehr hier, aber jetzt bin ich zurück 8) -
und gleich mit einem Problem:
Wie kann ich eine Bestimmte Anzahl von Variablen in einer Schleife erzeugen und später wieder auf sie zugreifen?

In diesem Beispiel sollen fünf Variablen erzeigt werden:

C-/C++-Quelltext

1
2
3
4
5
// Code...

for (int i=5; 1<i; i--)
{
// Hier Variable erzeugen

}
http://www.world-of-smilies.com/smiliegen/dyn_Nobody-l-is-l-perfect-r-0D-r-0A-r-28I-r-5C-r-27m-l-Nobody-r-29_Arial.ttf_center_26_8_x_b_a_c.gif

fkrauthan

Supermoderator

Beiträge: 979

Wohnort: Vancouver

Beruf: Software engineer

  • Private Nachricht senden

2

14.03.2008, 14:54

Du kannst das anders machen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
int* undefinirteIntWerte = NULL;

undefinirteIntWerte  = malloc(sizeof(int)*anzElements);

//Am Ende nicht vergessen wieder freigeben

if(undefinirteIntWerte ) {
    delete[] undefinirteIntWerte ;
    undefinirteIntWerte = NULL;
}


Doch ich glaub das war so. Kann auch sein das ich mich mit der malloc methode täusche.

terrible1

Frischling

  • »terrible1« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Freyung

Beruf: Schülern

  • Private Nachricht senden

3

14.03.2008, 14:59

Da kenn ich mich nicht so ganz aus...
Wie kann ich dann auf die Variablen wieder zugreifen, oder: wie erzeuge ich da mehrere?
http://www.world-of-smilies.com/smiliegen/dyn_Nobody-l-is-l-perfect-r-0D-r-0A-r-28I-r-5C-r-27m-l-Nobody-r-29_Arial.ttf_center_26_8_x_b_a_c.gif

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

4

14.03.2008, 15:00

Du musst nicht prüfen, ob undefinirteIntWerte 0 ist. Das geht auch ohne.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

5

14.03.2008, 15:01

Zitat von »"terrible1"«

Da kenn ich mich nicht so ganz aus...
Wie kann ich dann auf die Variablen wieder zugreifen, oder: wie erzeuge ich da mehrere?


Dann würde ich mich mal mit new / delete auseinandersetzen Dort kannst du das auch lösen.

terrible1

Frischling

  • »terrible1« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Freyung

Beruf: Schülern

  • Private Nachricht senden

6

14.03.2008, 15:11

Mein Problem ist nicht new und delete (das habe ich schon gut verstanden...) mein Problem ist (bei fkrauthans Beispiel), dass (abgesehen davon, dass gar kein new vorkommt) ich nicht dahinter komme, wie ich auf die Variable zugreife...
http://www.world-of-smilies.com/smiliegen/dyn_Nobody-l-is-l-perfect-r-0D-r-0A-r-28I-r-5C-r-27m-l-Nobody-r-29_Arial.ttf_center_26_8_x_b_a_c.gif

7

14.03.2008, 15:19

@fkrauthan: Du hättest vieles Posten dürfen/können, aber nicht so einen erbärmlichen Scheiß.

malloc / realloc / free => C Speicher re-, de- und allokation.
new, new[], delete, delete [] => C++ Speicher (de)allokation
(wobei new/delete und new[]/delete[] jeweils ein Paar bilden ...)

@terrible1: Schreib bitte mal Pseudocode auf, wie du es meinst ... versteh dein Problem so nicht 100%tig.
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Viktor

Alter Hase

Beiträge: 533

Wohnort: Ludwigshafen

Beruf: Student

  • Private Nachricht senden

8

14.03.2008, 15:27

Re: Variablen

Zitat von »"terrible1"«

Ja, ich weiß, ich war lange nicht mehr hier, aber jetzt bin ich zurück 8) -
und gleich mit einem Problem:
Wie kann ich eine Bestimmte Anzahl von Variablen in einer Schleife erzeugen und später wieder auf sie zugreifen?

In diesem Beispiel sollen fünf Variablen erzeigt werden:

C-/C++-Quelltext

1
2
3
4
5
// Code...

for (int i=5; 1<i; i--)
{
// Hier Variable erzeugen

}


Nach welchem Muster sollen die Variablen denn benannt werden. Sonst wäre es doch am einfachsten, wenn du ein Array initialisierst, mit der Anzahl der Variablen und dann in der Schleife darein schreibst. Auslesen ist dann nicht mehr das Problem.
Wenn jetzt aber unterschiedliche Namen genommen werden sollen, versteh ich nicht ganz, nach welchem Muster du die aufbauen willst.
Vll. ists auch gar nicht, was du suchst....

terrible1

Frischling

  • »terrible1« ist der Autor dieses Themas

Beiträge: 58

Wohnort: Freyung

Beruf: Schülern

  • Private Nachricht senden

9

14.03.2008, 15:30

OK:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
// Hier eine Abfrage wie viele Variablen gebraucht werden

cin >> i;
// Dann die Schleife

while (1 < i)
{
i--
// hier die Variable (x1 únd dann im nächsten durchgang x2) erzeugen

}
// und hier auf diese Variable (x4) zugreifen (z.B. x +=1)


(die namengebung ist mir im Grunde egal, aber durchnummerierte Variablen wären schön)
http://www.world-of-smilies.com/smiliegen/dyn_Nobody-l-is-l-perfect-r-0D-r-0A-r-28I-r-5C-r-27m-l-Nobody-r-29_Arial.ttf_center_26_8_x_b_a_c.gif

Viktor

Alter Hase

Beiträge: 533

Wohnort: Ludwigshafen

Beruf: Student

  • Private Nachricht senden

10

14.03.2008, 15:40

Ich würde das dann so machen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
// Hier eine Abfrage wie viele Variablen gebraucht werden

int i; 
cin >> i;
int array[i];

// und hier auf diese Variable (x4) zugreifen (z.B. x +=1)

array[0] = 3; array[1] = 2;
array[2] = array[0]-array[1];
array[2]++;
// etc., je nach dem, was du vorhast

 

So hab ich das jetzt interpretiert. Wenn du es anders meinst, dann sags nochmal konkreter oder die anderen haben sicher auch noch ne idee.
Aber im prinziep stimmt alles. Die "Variablen" sind durchnummeriert und du kannst sie sogar ohne schleife initialisieren bzw. es ist ja ein array...

Werbeanzeige