Board00 Geschrieben 28. Februar 2007 Geschrieben 28. Februar 2007 Mein Problem ist das ich den Algorithmus der hinter den 2 For-Schleifen steckt nicht verstehe. Hoffe ich konnte mich besser ausdrücken Zur Definition struct EINGAENGE { char Pin[5]; char Bezeichnung[10]; int Anzahl; bool TextDarstellen; }; EINGAENGE *PosZeiger; PosZeiger = (EINGAENGE *) GlobalLock(Beschriftung.Eingaenge); // Minimum bestimmen for (int i = 1; i <= (*(PosZeiger)).Anzahl; i++) if ((*(PosZeiger + i)).Anzahl < min) min = (*(PosZeiger + i)).Anzahl; //Wert zwischen min finden for (int i = 1; i <= (*(PosZeiger)).Anzahl; i++) if ((*(PosZeiger + i)).Anzahl == min) break; if (i > (*(PosZeiger)).Anzahl) i = (*(PosZeiger)).Anzahl; Kann mir jemand weiter helfen Zitieren
Klotzkopp Geschrieben 28. Februar 2007 Geschrieben 28. Februar 2007 Möglicherweise wird es klarer, wenn du (*(PosZeiger)) durch PosZeiger[0] und (*(PosZeiger + i)) durch PosZeiger ersetzt. Diese Zeigerarithmetikschreibweise trägt IHMO nicht gerade zum Verständnis bei. Zitieren
Board00 Geschrieben 2. März 2007 Autor Geschrieben 2. März 2007 Danke für eure Hilfe, aber ich habe immer novh Probleme den Algorithmus zu verstehen. Ich habe mal die Werte die der Debugger anzeigt aufgeschrieben (siehe Bild). Bis zu 16 Bausteinen werden die Werte in der roten Umrandung angezeigt. Beim 17. Baustein werden die Werte in grün angezeigt und die Bezeichnung wird wieder auf 1 gesetzt. Nur warum? Wie erkennt er das? Das ist der Knackpunkt, den ich bei seinen 2 Schleifen nicht erkenne. http://www.bilder-hosting.de/show/5085C.html Bild durch Link ersetzt [Klotzkopp] Zitieren
Klotzkopp Geschrieben 2. März 2007 Geschrieben 2. März 2007 Baustein? Zeichenfenster? Bezeichnung? Wovon redest du? Was hat das mit dem Algorithmus zu tun? Der Algorithmus nimmt den Anzahl-Wert des ersten EINGAENGE-Elements, und sucht in genau so vielen nachfolgenden Einträgen den kleinsten Anzahl-Wert, der kleiner ist als die Vorbelegung von min (die du nicht gezeigt hast). Danach setzt er i auf den Index des ersten Eintrags, der diesen kleinsten Wert als Anzahl hat, oder eben auf den letzten, falls es keinen gab, der kleiner als die Vorbelegung von min war (das macht die letzte if-Anweisung). Zitieren
Crush Geschrieben 2. März 2007 Geschrieben 2. März 2007 Ist das ein Bob-der-Baumeister-Programm? @Klotzkopp: Es muß Euch eine Ehre sein im Plural angesprochen zu werden (Euer Durchlaucht) Zitieren
Board00 Geschrieben 5. März 2007 Autor Geschrieben 5. März 2007 Ist das ein Bob-der-Baumeister-Programm? @Klotzkopp: Es muß Euch eine Ehre sein im Plural angesprochen zu werden (Euer Durchlaucht) nein nein es ist kein Bob-der-Baumeister-Programm? sondern es ist ein Programm zum Programmieren von SPS´en ist, das aus Schaltlogiken Srukturierten Text macht. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.