Zum Inhalt springen

Buchstaben in Wort zählen und häufigsten in Zahl umwandeln


Empfohlene Beiträge

Geschrieben (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 von Jarmila
Geschrieben
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.

Geschrieben
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).

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...