JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Anzahl der Elemente eines Arrays
Gehe zu Seite Zurück  1, 2, 3
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 16:39    Titel: Antworten mit Zitat

nEp: Schick mal bitte den Programmcode. Ich glaube bei statisch angelegten Arrays geht das nämlich, bin mir aber nicht sicher.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mr.X
Junior JLI'ler



Anmeldedatum: 15.04.2003
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 16:55    Titel: Antworten mit Zitat

aus der MSDN:

When applied to a statically dimensioned array, sizeof returns the size of the entire array. The sizeof operator cannot return the size of dynamically allocated arrays or external arrays.

Ja sorry, so wie Du es gepostest hat, geht es, da es ein statisches Array ist. Allerdings weisst Du in diesem Fall ja eh schon die Länge des Arrays bei der Implementation.
Bei Arrays, welche zur Laufzeit angelegt wurden, funktioniert dies allerdings nicht.

Das dies geht liegt eben daran, weil der Compiler über Deinen geschriebenen Code bereits den Zusammenhang (weil die Variable für ein Feld angelegt wurde) herstellen kann, das Du die Länge eines Arrays willst und diese Länge gleich mitkompiliert. Nachdem Dein Code kompiliert wurde, ist es unmöglich für das Programm, durch eine Funktion die Länge eines Arrays festzustellen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nEp
Junior JLI'ler



Anmeldedatum: 03.06.2003
Beiträge: 75

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 17:06    Titel: Antworten mit Zitat

Ja natürlich geht es, den Programmcode hatte ich ja auch schon gepostet. Und bei dynamisch angelegten Arrays hat man die Größe doch sowieso meistens irgendwo in ner Variablen stehen, zumal muss man sich ja sowieso das ganze Zeugs kümmern.
Und irgendwie ist der ganze Thread sowieso sinnlos find ich :/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 17:09    Titel: Antworten mit Zitat

Amen. ;)
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mr.X
Junior JLI'ler



Anmeldedatum: 15.04.2003
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 17:21    Titel: Antworten mit Zitat

Salom Shocked

Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 17:50    Titel: Antworten mit Zitat

Das was Millenium meinte ist eine verkettete liste:

Code:

struct element{
int bla;
element* next;
};

std::vector<element> liste;

// code zum anfügen eines elements:
element neues;
neues.bla = x;
neues.next = &

liste.push_back(neues);
liste[liste.size()-2].next = &liste[liste.size()-1];



leider relativ sinnlos in diesem zusammenhang, da mann eh durch std::vector::size() die größe erfährt. das anhand einer normalen c-array zu machen wäre schwachsinnig, da man für verkettete listen einen flexiblen array haben sollte. ist mit c-arrays über buffer/new&delete machbar, aber umständlich, weil man dafür auch wieder eine größenvariable benötigen würde....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Codechecker
Mini JLI'ler



Anmeldedatum: 30.12.2002
Beiträge: 16

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 22:26    Titel: Antworten mit Zitat

meinst du vielleicht sowas

Code:

#include <iostream.h>

typedef int feldtyp[10];

int LaengeArray( feldtyp Feld);

void main(void)
{
  feldtyp Feld;
 
  int x = LaengeArray(Feld);
 
  cout << "Der Index des letzten Elemtents ist:" << x << "\n";
 
 
}

int  LaengeArray( feldtyp Feld)

  int i = 0;
 
  while(Feld[i] != "\0" )
  {
     i++;
  }
  return i;
}


oder irre ich mich da?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hazel
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 22:45    Titel: Antworten mit Zitat

Du irrst dich da.
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 21.07.2003, 23:00    Titel: Antworten mit Zitat

ok, hat sich jetzt erledigt, also wir wir alle gemerkt haben, ist es bei nicht statischen Arrays unmöglich die Anzahl der Elemente des Arrays auszurechenen...hab die ANzahl jetzt in ner extra Variablen gespeichert.
Trotzdem Danke! Very Happy
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2, 3
Seite 3 von 3

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum