Gast Jarmila Geschrieben 18. November 2022 Geschrieben 18. November 2022 (bearbeitet) Hallo, ich habe an der Uni einen Informatikkurs und dort haben wir jetzt eine Aufgabe, bei der wir ein Wort einlesen lassen sollen. Der erste Buchstabe, welcher nicht wiederholt wird, soll in einen Großbuchstaben geändert werden. Bsp. Einlesen: brettspiele Originalstring: brettspiele Buchstabe: B Ergebnisstring: Brettspiele Das ist der bisherige Ansatz: #include <iostream> #include <string> using namespace std; string text = "rentnerin"; int zaehler[26]; char einfach[26]; for (int pos = 0; pos < text.length(); pos++) { int ord = text[pos] - 'a'; zaehler[ord] = zaehler[ord]+1; } for (int ord = 0; ord < 26; ord = ord+1 ) { cout << (char) (ord+'a') << " : " << zaehler[ord] << endl; } bool einzelnerchar = false; for (int pos2 = 0; pos2 < 26; pos2 = pos2 + 1 ) { if (zaehler[pos2] == 1) { einfach[pos2] = (char) (pos2+'a'); } } while (einzelchar == false) { for (int zaehler3 = 0; zaehler3 < text.length; zaehler3++) { a = zaehler[zaehler3]; if } } Momentan bekommen wir so immer die einzelnen Buchstaben untereinander ausgegeben mit der Anzahl der Buchstaben. Die Buchstaben, welche einmal vorkommen haben werden auch festgestellt. Nun ist aber die Frage, wie wir es hinbekommen, die irrelevanten Buchstaben "wegzulassen". Außerdem müssen wir es noch schaffen mit Hilfe des Ascii Codes die Kleinbuchstaben in Großbuchstaben umzuwandeln (-32). Wenn irgendwer Tipps geben kann wären wir sehr Happy. Bearbeitet 18. November 2022 von Jarmila Zitieren
elgorgo Geschrieben 18. November 2022 Geschrieben 18. November 2022 vor 3 Minuten schrieb Jarmila: die Kleinbuchstaben in Großbuchstaben umzuwandeln (-32). einfach 32 abziehen wäre falsch. Denn so würde man bei einem 'A' = 65 auf 33 kommen. Und da steht dann in der ASCII '!'. Such mal nach der Möglichkeit den ASCII Wert durch eine bitweise Manipulation zu beeinflussen. Tip an der 32er Stelle das Bit sicher auf 0 ändern. Zitieren
Gast Jarmila Geschrieben 18. November 2022 Geschrieben 18. November 2022 vor 15 Minuten schrieb elgorgo: einfach 32 abziehen wäre falsch. Denn so würde man bei einem 'A' = 65 auf 33 kommen. Und da steht dann in der ASCII '!'. Such mal nach der Möglichkeit den ASCII Wert durch eine bitweise Manipulation zu beeinflussen. Tip an der 32er Stelle das Bit sicher auf 0 ändern. Wir haben ja Kleinbuchstaben, die ir in Großbuchstaben umändern wollen, deswegen -32 (z ist 122 und Z ist 90). Zitieren
kasinhono Geschrieben 19. November 2022 Geschrieben 19. November 2022 Wie wäre die Nutzung von ToUpper(), um die Buchstaben in Großbuchstaben zu wandeln? Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.