HILFE!!!-->Stringanalyse!
-
hallo!
welcher begnadeter programmierer kann mir bei diesem übungsbeispiel helfen!Aufgabe 2 - Stringanalyse
Schreiben Sie ein Programm, das eine Zahl n und einen String der maximalen Länge
80 einliest. Die ersten n verschiedenen Zeichen des Strings sollen ausgegeben werden.
Sind nicht genügend verschiedene Zeichen vorhanden, so ist eine entsprechende
Meldung auszugeben. Der Ablauf ist zu wiederholen, bis für n der Wert 0 eingegeben
wird.
Beispiele:
n: 5
String: AACECCGGCEGI
Die ersten 5 verschiedenen Zeichen sind ACEGI
n: 3
String: ABACCD
Die ersten 3 verschiedenen Zeichen sind ABC
n: 6
String: AABCDBC
Die Folge enthält nicht 6 verschiedene Zeichen
-
einfach mit nem Mealy-Automat
-
@pisa: sorry, aber ich weiß leider nicht was ein mealy automat ist!!
-
@wolondong: Erwarte hier keine Lösung. Nur ein Tipp:
bool found[256] = {};
-
@Mr.N ==> soweit ich weiß, kann ich den datentyp bool nur im c++ arbeiten!
und das ist bei meiner übung nicht erlaubt!
aber trotzdem danke für deine hilfe!
-
einen C99-Compiler vorausgesetzt ...:
#include <stdbool.h> bool found[256] = { 0 };
-
naja, in c geht auch bool:
typedef int bool;
-
@Bashar: C-99 erfordet doch kein { 0 }, oder?
-
Keine Ahnung, halte ich nicht für so schrecklich wichtig, ob das erforderlich ist oder nicht
-
Original erstellt von Mr. N:
**naja, in c geht auch bool:typedef int bool; ```**
oder über die Enumeration:
enum Boolean { FALSE, TRUE };
... mal so als kleiner Tipp am Rande
-
Original erstellt von guard:
**oder über die Enumeration:enum Boolean { FALSE, TRUE };
**
Pfui.
[ Dieser Beitrag wurde am 07.01.2003 um 18:36 Uhr von Mr. N editiert. ]
-
Einfach nur enum ist wohl ungünstig, weil Du dann bei jeder 'bool'-Variablen drauf hingewiesen wirst, dass es ein enum ist ....
Ich schreibe für C89 immer
typedef enum bool {false, true} bool;
damit sind dann beide Varianten möglich:
void f(void) { enum bool b1; bool b2; }
-
hmm. (bool) a == true tut dann aber nicht unbedingt das erwartete
-
Original erstellt von Mr. N:
(bool) a == true tut dann aber nicht unbedingt das erwarteteWoher kommt diese Unsitte, boolsche Werte mit '== true' testen zu wollen?
-
Diese Unsitte wollt ich damit ja aufgabeln. Aus diesem Grund bin ich gegen das enum.
-
Und wie testet man das richtig?
-
oder meint ihr es einfach so:
bool b = true; if(b) {}
anstatt
bool b = true; if(b == true) {}
-
um einen wert 0 oder 1 zu erhalten gibts ja zur not immer noch != 0
-
Matthias: Genau!
Oder schreibt jemand zu Verdeutlichung 'if (((a == true) == true) == true)'?