JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=210ec863b82100b0f9bd7d5bedb467e5Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

verkettete liste
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 12:53    Titel: Antworten mit Zitat

David hat Folgendes geschrieben:
newby hat Folgendes geschrieben:

@david
ich will überhaupt keine headerdatei inkludieren, ich will pures c++^^


Trotzdem ist der Ansatz über verlinkte Listen Unsinn.

@DirectXer:
Du meinst die Standard C++ Bibliotheksheader, nicht STL, oder? Außerdem sind die Unterschiedlichen Implementationen der Standard Bibliothek nicht unbedingt "effektiv".

Ich meine die STL(speziell den Vektorcontainer) und die kann man im Großen und ganzen als effektiv und effizient bezeichnen. Die Standard C++ Bibliothek ist nicht in allen Bereichen effektiv, aber sie wurde nicht von Amateuren entworfen und du kannst davon ausgehen dass die Entwickler sich mit den strengen Richtlinien einiges gedacht haben. Die verschiedenen Implementierungen, die man geläufig so erhält, sind in dem Punkt der STL zum größten Teil auf Effektivität, Flexibilität und Effizienz ausgelegt.

btw: Es muss kein Unsinn sein, so etwas selbst zu entwerfen, da man wie gesagt dadurch das tiefere Verständnis für gängige Patterns und Datenstrukturen erlernt. Das ist auch das, was er damit bezwecken möchte.

Gruß DXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 13:41    Titel: Antworten mit Zitat

DirectXer hat Folgendes geschrieben:

Ich meine die STL(speziell den Vektorcontainer) und die kann man im Großen und ganzen als effektiv und effizient bezeichnen.


Die STL hat grundsätzlich überhaupt nichts mit der Standard Bibliothek von C++ zu tun. In die Standardbibliothek sind Teile/Ideen aus der STL eingeflossen. Dennoch bleiben das zwei grundsätzlich unterschiedliche Bibliotheken die komplett unabhängig Entwickelt werden (wurden).

DirectXer hat Folgendes geschrieben:

Die Standard C++ Bibliothek ist nicht in allen Bereichen effektiv, aber sie wurde nicht von Amateuren entworfen und du kannst davon ausgehen dass die Entwickler sich mit den strengen Richtlinien einiges gedacht haben.


Die Standardbibliothek ist eine Sammung von guten/effizienten Problemlösungen. Leider wird (muss) versucht (werden) allgemein eine bestmögliche Performanz zu bieten. Daher wird oftmals ein Mittelweg eingeschlagen, sodass in speziellen Fällen durchaus wesentlich performantere Lösungen möglich wären.

DirectXer hat Folgendes geschrieben:

Die verschiedenen Implementierungen, die man geläufig so erhält, sind in dem Punkt der STL zum größten Teil auf Effektivität, Flexibilität und Effizienz ausgelegt.


Das ist richtig (ich entschuldige mich vielmals wegen des Fehlers). Der Punkt ist: Es kann k(aum )eine Lösung existieren die ein höchstmas an Effektivität, Flexibilität und Effizient bietet. Meistens schließen sich die einzelnen Fälle gegenseitig aus, wo wir wieder bei den Speziallösungen wären.

DirectXer hat Folgendes geschrieben:

btw: Es muss kein Unsinn sein, so etwas selbst zu entwerfen, da man wie gesagt dadurch das tiefere Verständnis für gängige Patterns und Datenstrukturen erlernt. Das ist auch das, was er damit bezwecken möchte.


Hatte ich auch nicht behauptet. Aber der Ansatz, das obige Problem, mit einer verlinkten Liste aus bool'schen Werten zu lösen ist eher verkehrt (oder sagen wir mal suboptimal).
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
newby
JLI'ler



Anmeldedatum: 17.08.2007
Beiträge: 106

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 13:52    Titel: Antworten mit Zitat

meine ausgabe sieht so aus:

Code:

Adresse: 0012FE3C

//das ganze dann 20 mal genau so untereinander, die adresse ist immer gleich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 13:57    Titel: Antworten mit Zitat

Ja, weil du jedesmal die Adresse des Zeigers aus gibst. Lass den Adress-Operator weg, dann passts.

CPP:
cout<<"Adresse: "<<newelement<<endl;
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
newby
JLI'ler



Anmeldedatum: 17.08.2007
Beiträge: 106

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 14:14    Titel: Antworten mit Zitat

ok, das funktioniert jetzt alles soweit, aber er gibt irgendwie die letzte stelle nicht aus:

CPP:
BigInteger::BigInteger(int startvalue)
{

   firstelement = 0;
   lastelement = 0;


   int rest = 0;
   int quotient = startvalue;

   while(true)
   {
      rest = quotient % 2;
      quotient = quotient / 2;

      Element *newelement = new Element;
      
      (*newelement).value = (bool)rest;

      if(lastelement != 0) (*lastelement).next_element = newelement;
      lastelement = newelement;
      (*newelement).next_element = 0;
      if(firstelement == 0) firstelement = newelement;

      if(quotient == 0) break;
   }

   Element *element = firstelement;

   while(true)
   {
      cout<<(*element).value;
      element = (*element).next_element;
      if((*element).next_element == 0) break;
   }
}


wisst ihr warum die letzte stelle fehlt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 14:26    Titel: Antworten mit Zitat

Die Abbruchbedingung deiner Iteration ist falsch.

CPP:
if(element == 0) break;


Sollte das Problem lösen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
newby
JLI'ler



Anmeldedatum: 17.08.2007
Beiträge: 106

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 14:31    Titel: Antworten mit Zitat

jo, hast recht vielen dank für eure antworten Very Happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 16:32    Titel: Antworten mit Zitat

Was habt ihr eigentlich dagegen, dass er seine eigene verkettete Liste schreibt? Sollte er wirklich std::list verwenden ohne das wenigstens einmal selbst gemacht zu haben? Und ich denke da ist es völlig egal was er berechnen will. Hauptsache er hat ein Problem, wozu er meint,
eine verkettete Liste zu brauchen.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
David
Super JLI'ler


Alter: 39
Anmeldedatum: 13.10.2005
Beiträge: 315

Medaillen: Keine

BeitragVerfasst am: 22.09.2008, 16:50    Titel: Antworten mit Zitat

PeaceKiller hat Folgendes geschrieben:
Was habt ihr eigentlich dagegen.


Niemand hast etwas dagegen...
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
Seite 2 von 2

 
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