#5
Das Ergebnis kann ja maximal so groß sein, wie das erste Array, oder? Nämlich, wenn alle Elemente des ersten Arrays im zweiten vorkommen. Davon würde ich ausgehen. #6
wenn ich das Array aber so groß mache wie das participants dann kommt als Ergebnis [null, null, Tamara, null, Ben, null] aber möchte ja nur das als Ergebnis [Tamara, Ben] rauskommt. #7
wo muss das kürzen denn stehen, weil wenn ich es vor dem return stetze, dann kommt als Ergebnis beim dritten Beispiel [null, null] raus? #8
Der Inhalt sollte unmittelbar nach dem Vergleich so aussehen: [Tamara, Ben, null, null, null, null]. Zwei strings vergleichen 2. Das geht z. B. ungefähr so:
neuerString[counter] = participants[i];
counter++;}
Anschließend kannst du es kürzen, siehe Beitrag von @Kirby_Sike. Der Name "neuerString" ist übrigens schlecht gewählt. Es ist schließlich ein Array von Strings und kein String. Besser wäre z. "tempResults"
#9
Anschließend kannst du es kürzen, siehe Beitrag von @Kirby_Sike,
okay, hier bekomme ich aber als Ergebnis [null, null] raus.
Zwei Strings Vergleichen Images
So, das war das Wort zum Sonntag. Zuletzt bearbeitet: 23. Apr 2020
#14
Du darfst die gefundene Übereinstimmung ja nicht an der Stelle der Übereinstimmung zuweisen, sondern an die erste Position des noch leeren Arrays. Siehe hier neuerString[i] = participants[i]; Du findest das Wort an der Position i " und speicherst es an der Position i. #15
Du darfst die gefundene Übereinstimmung ja nicht an der Stelle der Übereinstimmung zuweisen, sondern an die erste Position des noch leeren Arrays. Dankeschön für die Hilfe! #16
Ach, und noch was: Der else-Zweig ist überflüssig. Da sowieso keine Anweisungen mehr folgen, wird die Schleife so oder so mit dem nächsten Durchlauf beginnen. C# zwei Strings vergleichen? (Programmieren, Programmierung, CSharp). #17
Warum nicht StringBuilder? #18
Warum StringBuilder? Es wird doch kein String zusammen gesetzt, sondern ein Array. #19
Sorry, nicht ganz beim überfliegen aufgepasst.
Zwei Strings Vergleichen 2
#1
Hallo,
Ich bin gerade etwas am verzweifeln weil ich den Fehler einfach nicht finden und langsam das Gefühl habe ich sehe den Wald vor lauter Bäumen nicht mehr. Ich versuche einen txt nach einem bestimmten Wort zu durchsuchen und dann in einer neuen Txt das Ergebniss auszugeben. Soweit klappt auch eigentlich alles einlesen klappt, genauso wie erstellen der neuen Datei. Doch die equals Methode funktioniert einfach nicht und ich weiß nicht warum. Meiner Meinung nach ist es so korrekt aber es kommt immer false raus. Zwei strings vergleichen video. Was nicht sein kann da ich weiß das Beide Wörter enthalten sind im Text. Ich hoffe mir kann hier jemand helfen, vielen Dank schon einmal.
Zwei Strings Vergleichen Video
oh ok danke! kannst leider noch nicht so richtig unterscheiden was c und was c++ ist. musste jedoch aus
scanf("%s", &input);
das hier machen:
tline(input, 100);
( ist vermutlich auch kein c)
warum? weil scanf interpretiert keine Leerzeichen bei mir. Mit tline klappts. Man kann jetzt im Konsolenfenster eins der folgenden Begriffe eingeben:
"hi", "hallo", "wie gehts", "auch gut", "chillen"
die Konsole wird auf die Begriffe immer reagieren und antworten, probiers mal aus^^. (habs mit borland builder 6 gemacht)
Der fertige Code sieht dann so aus:
#include
#include
#include
#include
void main(void)
{
bool bla;
while ( bool bla=true)
char input[100];
char hi[] = "hi";
char hallo[] = "hallo";
char wg[] = "wie gehts";
char ag[] = "auch gut";
char ch[] = "chillen";
//scanf("%s", &input); // Funkzioniert auch, jedoch interpretiert keine Leerzeichen
tline(input, 100); // Leerzeichen bei z. b. "wie gehts" werden jetzt akzeptiert
if(strcmp(hi, input) == 0 ||strcmp(hallo, input) == 0)
printf("Hallo\n");}
else if(strcmp(wg, input) == 0)
printf("gut und selbst?
Hallo Heiko,
auch wenn es erst trivial aussieht, eine Zeichenkette vergleichen kann relativ komplex werden. Zunächst zu Equals vs. "==":
Bei Equals muß x im obigen Beispiel ungleich null sein, sonst gibt es eine Ausnahme:
string x = null, y = "ábc";
Console. WriteLine( "==: {0}", x == y);
// fällt auf die Nase:
// Console. WriteLine("Equals: {0}", (y));
denn nur bei "==", was über den für String überladenen
Equals-Operator zu
(x, y) führt,
wird berücksichtigt, dass der linke Wert null sein kann. Damit ist aber nicht immer getan. Denn es hängt davon ab, wie Du eine Zeichenkette vergleichen willst. Bei findest Du weitere Überladungen mit
StringComparison,
womit man genauer bestimmen kann, wie Zeichen verglichen werden sollen. Die Standardmethode, die "==" verwendet, wäre der auf Ordinal Werte. Zwei Strings vergleichen - php.de. Willst Du Zeichenkette auf Basis ihrer Kultur vergleichen, solltest Du
CurrentCulture oder CurrentCultureIgnoreCase (ohne Groß/Klein) verwenden:
x = "äöüß"; y = "ÄÖÜss";
Console. WriteLine( "Equals: {0}", (y));
Console.