Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Schiebeoperatoren in C????

BDelphi / 5 Antworten / Flachansicht Nickles

Hallo Zusammen,
ich habe da ein kleines Problem mit einer Aufgabe:
Und zwar soll ich ein lauflicht mit Schiebeoperatoren erstellen.
Als vorgabe habe ich hier ein kleines sehr einfaches Programm:
include

bei Antwort benachrichtigen
Dreamforger BDelphi „hmm, ich vermisse das schieben!? Ich habe da schon mal ein paar dinge...“
Optionen

Der Bit-shifter 00II0I ~ (entspricht dezimal 13) wird mit 0II0I0 ~ (entspricht dezimal 26)

Das ist interessant aber für dich wertlos :-) Für weitere informationen frag doch mal eine Suchmaschine nach "2er-Komplement"

Ich erklär nochmal meinen Vorschlag:

Die Grundidee ist es einen festen Puffer mit dem Lauftext, oder wenn du willst lauflicht zu haben. Den ganzen Puffer zu rotieren ist rechenaufwendig und unnötig. Stattdessen definiere ich einen Zweiten Lesekopf und lasse diesen rotieren. Bsp

"Das ist mein Puffer"

jetzt schiebe ich den Lesekopf um 5 nach rechts

"st mein Puffer"

hinter diesen Text setze ich den restlichen Teil des Strings, den Anfang bis zum Lesekopf. C beendet Strings bei der ersten 0 im Speicher (nicht im Text!) also muss ich das alte zeichen am Lesekopf durch eine 0 ersetzen. Dann kann ich den restlichen Puffer einfach ausgeben.

"Das i"

Am Bildschirm ergibt sich deshalb

"st mein PufferDas i"

So. jetzt soltest du noch das Zeichen, dass du vorher durch eine 0 ersetzt hast wiederherstellen, sonst verkrüppelst du deinen String

Ein einzelnes Laufendes O machst du mit dem Laufstring
" O"

Das ganze in Schleifen zu verpacken und mit waits (gibts wirklich keine andere möglichkeit als diese Leerschleifen? kein sleep, wait, idle, yield, u.ä) zu dekorieren überlass ich jetzt dir, du hast ja auch noch meinen anderen Post

Viel Erfolg

Dreamforger

bei Antwort benachrichtigen