Algorithmus < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 14:35 Di 26.10.2004 | Autor: | Ganymed |
Hallo,
habe jetzt Informatik als Fach bekommen und wohl nicht wirklich alles verstanden.
Wie z.B diese Aufgabe:
Wir sollen eine Algorithmus, der dann wie ein Kinderreim (ene mene muh und raus....) funktioniert, als Struktogramm sowie textuell bestimmen.
Kann mir jemand dabei helfen??
Gibt es dafür vielleicht schon ein Programm, was die Sache vereinfacht??
Bin über jede Hilfe dankbar!!!
Gruß Gany
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 23:43 Di 26.10.2004 | Autor: | Bastiane |
Hallo Gany!
Ich verstehe nicht so ganz, was du genau willst:
Hast du einen speziellen Algorithmus gegeben? Und was bedeutet das mit dem Kinderreim? Und vielleicht könntest du auch noch sagen, was genau ein Struktogramm ist?
Viele Grüße
Bastiane
|
|
|
|
|
Hallo miteinander,
ich vermute daß damit verlangt ist
aus einem Array, der zunächst L Elemente enthält, "reihum", also vom Ende wieder an den Anfang gehend, jeweils das n-te zu entfernen,
wobei
n durch die Anzahl der Worte des Abzählreims bestimmt ist - ob die nun nur "ene mene muh" sind oder auch noch die restlichen Worte mitzählen
ist unklar.
Z.B. wäre der Ablauf für ein Anfangs L = 5 und n = 3
also
1,2,3,4,5
1,2,4,5
1,2,5
1,2
2
ich hoffe richtig geraten zu haben
Gruß F.
N.S. Struktogram: google "Nassi-Schneidermann"
|
|
|
|
|
Hi,
Wie wäre es mit folgendem C++-Programm?
#include <iostream>
using namespace std;
#define REIM_LAENGE 2 // Anzahl der Wörter in einem Reim
bool gruppe[5];
int n_ausgeschieden = 0;
int main(int argc, char* argv[])
{
memset(gruppe, -1, sizeof(gruppe)); // Am Anfang sind alle im Spiel
int k = REIM_LAENGE-1;
while(n_ausgeschieden < sizeof(gruppe)-1)
{
if( k >= sizeof(gruppe) ) k -= sizeof(gruppe); // Wir gehen im Kreis herum :)
gruppe[k] = false;
cout << "Nr. " << k+1 << " ist draussen!" << endl;
n_ausgeschieden++;
k++;
if( k >= sizeof(gruppe) ) k -= sizeof(gruppe);
int j = 0;
while(j < REIM_LAENGE-1) // Spieler, die draussen sind, werden nicht mitgezählt
{
if(gruppe[k])
{
k++;
j++;
} else k++;
if( k >= sizeof(gruppe) ) k -= sizeof(gruppe);
}
while(!gruppe[k])
{
k++;
if( k >= sizeof(gruppe) ) k -= sizeof(gruppe);
}
}
cout << "Nr. " << k+1 << " gewinnt!" << endl;
return 0;
}
|
|
|
|