Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  Angepasste Schleife

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Angepasste Schleife (1560 mal gelesen)
Kvothe
Mitglied



Sehen Sie sich das Profil von Kvothe an!   Senden Sie eine Private Message an Kvothe  Schreiben Sie einen Gästebucheintrag für Kvothe

Beiträge: 24
Registriert: 16.04.2013

erstellt am: 06. Jul. 2013 14:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ist es möglich, dass bei einer for-Schleife der Wert der Zählvariablen nicht um 1 sondern nach einer bestimmten Bedingung geändert wird?

Ich habe verschiede Termine in einer Tabelle untereinander stehen und möchte gerne wissen, wie oft die gleiche Zahl vorkommt.

0
0
0
1
2
2
3

Meine Schleife sah bisher so aus:

for i:=1 to Tabelle.ydim loop

if Tabelle[1,i]=Tabelle[1,i+1] then ...
end;

if Tabelle[1,i]=Tabelle[1,i+1] and Tabelle[1,i+1]=Tabelle[1,i+2] then..
end;

usw. So ist es mir möglich, dass der Wert immer überschrieben wird und ich letztendlich weiß wie häufig die null vorkommt.
Beim nächsten Durchlauf würde die Schleife ja bei i=2 ansetzen und so wieder die Null überprüfen. Mein Wunsch ist aber, dass an der Stelle i=4 die Prüfung der if-Bedingungen durchgeführt wird (und dann für i=5 und dann für i=7, also immer je nachdem wie häufig die vorherige Zahl vorkam).
Ist das irgendwie möglich?

Beste Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 08. Jul. 2013 10:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Kvothe 10 Unities + Antwort hilfreich

Sind die Zahlen aufsteigend sortiert (wie in Ihrem Beispiel)?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Kvothe
Mitglied



Sehen Sie sich das Profil von Kvothe an!   Senden Sie eine Private Message an Kvothe  Schreiben Sie einen Gästebucheintrag für Kvothe

Beiträge: 24
Registriert: 16.04.2013

erstellt am: 08. Jul. 2013 10:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Bon Simul
Mitglied
Simulant


Sehen Sie sich das Profil von Bon Simul an!   Senden Sie eine Private Message an Bon Simul  Schreiben Sie einen Gästebucheintrag für Bon Simul

Beiträge: 1250
Registriert: 08.08.2011

Plant Simulation 10.1, 11 ff Professional

erstellt am: 08. Jul. 2013 11:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Kvothe 10 Unities + Antwort hilfreich

Es sollte am besten mit einer Tabelle funktionieren (z.B. Name Häufigkeiten, erste Spalte Ihr Wert, zweite Spalte Häufigkeit).
In dieser Tabelle können Sie dann recht einfach die Häufigkeiten ermitteln:

Code:

häufigkeiten.löschen;

for i:=1 to Tabelle.ydim loop

  if i=1 then
  häufigkeiten[1,1]:=Tabelle[1,i];
  häufigkeiten[2,1]:=1;
  else
    if Tabelle[1,i]=Tabelle[1,i-1]then
    -- gleicher Wert, dazuzählen
    häufigkeiten[2,häufigkeiten.yDim]:=häufigkeiten[2,häufigkeiten.yDim]+1;

    else
      --neue Zeile für neuen Wert
      häufigkeiten[1,häufigkeiten.yDim+1]:=Tabelle[1,i];
      häufigkeiten[2,häufigkeiten.yDim]:=1;

    end;

  end;

next;



Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz