Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Variablen laufenddeklariwren

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Winkel



Anmeldungsdatum: 17.07.2006
Beiträge: 25
Wohnort: Berlin

BeitragVerfasst am: 20.03.2007, 13:01    Titel: Variablen laufenddeklariwren Antworten mit Zitat

Hallo an Alle:

Meine Proramm hapert an einer Stelle, an der Ich mal wieder Hilfe Brauche !

Ich habe Variablen deklariert, Wu(1), Wu(2), Wu(3), Wu(4).

Nun kommts es vor, das ich im laufenden Programm,bei jeden Durchlauf,
eine weitere Variable deklarieren mus, diese aber dann las NÄCHSTE nehmen muss...

ich schreibe das jetzt so nieder wie ich mir das vorstelle:

'aktuelle niegrigste Variable Vanf ( wie anfang ) Wu(1) = ...
'aktuelle höchste Variable Vende ( wie ende ) Wu(n) = ...

Mache dies und das
IF dies und das THEN Wu(n+1) = 7 `die nachste Veriable bildet sich als
Wu(5) = 7

Die höchste variable ist jetzt Wu5, also ist Vende = Wu5

Summiere alle werte der Variablen Vanf bis Vuende

IF SUMME dies und das, THEN mache dies und das.
Lösche Vuanf,
'die variable Wu(1) existiert nich mehr. neue niedrigiste Veriable Vanf
'ist jetzt Vu(2)

Input dies und das
Ende ja / Nein
If nein goto neue Handlung..


So, hoffentlich kann jemand verstehen was ich meine, - es ist nicht einfach...- und kann mit tipps geben.
Mathematisch könnte man es so ausdrucken:

v(0), v(1), v(2)...v(n-1), v(n)
Ich brauche eine Weg um v(n+1) zu definieren/deklarieren.
Dann habe ich auch schon V(ende)
V(anfang) ist v(0)

Oder soll ich mit DATA arbeiten ?????
(Habe Data nicht einmal beschnuppert...)

Winkel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 20.03.2007, 13:53    Titel: Antworten mit Zitat

Äh, dann dimensioniere dir doch ein Array?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Winkel



Anmeldungsdatum: 17.07.2006
Beiträge: 25
Wohnort: Berlin

BeitragVerfasst am: 20.03.2007, 14:06    Titel: Antworten mit Zitat

Danke, PMedia,
werde darüber grübeln....
Winkel
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 20.03.2007, 14:11    Titel: Antworten mit Zitat

Hallo

Also wenn ich das richtig verstanden habe (die Tipp- und Schreibfehler in der Frage machen es einem nicht gerade einfach), arbeitet er ja schon mit einem Array.

Also die Zahl der Variablen bleibt doch gleich. Es kommt zwar jeweils ein neuer Eintrag dazu, dafür wird der erste gelöscht. Stimmt das so? In dem Fall kannst du vielleicht einfach die Indizes verschieben. Zuerst hast du v(0)-v(n). Dann kommt v(n+1) dazu und v(0) wird gelöscht. Warum also nicht v(n+1) einfach in v(0) schreiben, v(n+2) in v(1) usw. Wenn man das Programm konkret kennen würde, könnte man sicher mehr dazu sagen.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
chutullu



Anmeldungsdatum: 18.10.2005
Beiträge: 77

BeitragVerfasst am: 20.03.2007, 16:24    Titel: Antworten mit Zitat

Klingt nach dem "LIFO" ([L]ast[I]n[F]irst[O]ut) und ist doch nichts anderes als eine Schieberegister :

Code:

dim wu(1 to 10) as integer
dim neu            as integer
dim anzArray    as integer

anzArray = 10  'Umfang des Array's
neu = 4
'mit werten füllen
for a=1 to anzArray
  wu(a) = a
next a

'einmal schieben
For a=1 to anzArray - 1
  wu(a) = wu(a+1)
next a
wu(anzArray) = neu


Falls das nicht das richtige sein sollte liegt es an :

Zitat:
Also wenn ich das richtig verstanden habe (die Tipp- und Schreibfehler in der Frage machen es einem nicht gerade einfach),
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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.

 Impressum :: Datenschutz