Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include<iostream>
- #include<cstring>
- using namespace std;
- /*Schreiben Sie eine Funktion, die als Parameter einen String bekommt und prüft
- ob das übergebene Wort ein Palindrom ist. Die Funktion liefert einen Wahrheitswert
- als Ergebnis(also true wenn das Ergebnis ein Palindrom ist, false, wenn nicht. )
- Palindrome sind Wörter(oder ganze Sätze), die mit umgekehrter Reihenfolge
- wieder sich selbst ergeben.
- Benutzen Sie in diese neuen Funktion die Funktion aus der vorherigen Aufgabe, um eine Kopie
- des Parameters in Großbuchstaben umzuwandeln(Der Parameter soll nicht geändert werden!)
- Damit werden Sie unabhängig von der Groß-/Kleinschreibung.
- Probieren Sie Ihre Funktion ausgiebig aus, ob sie auch richtig funktioniert.
- */
- char*wandeleInGrossbuchstaben(char*string1)
- {
- int length = strlen(string1);
- char* grossbuchstaben = new char[length + 1];
- for (int start = 0;start < length;start++)
- {
- grossbuchstaben[start] = string1[start];
- //Alles was größer als 96 sind Kleinbuchstaben
- if (grossbuchstaben[start] > 96)
- {
- grossbuchstaben[start] -= 32;
- //zieht 32 ab, damit wir auf Großbuchstaben kommen
- }
- }
- grossbuchstaben[length] = '\0';
- return grossbuchstaben;
- }
- int main()
- {
- //string deklarieren
- char* string2;
- char string1[20];
- int start, end, flag = 1;
- cout << "Geben Sie ein string ein!" << endl;
- cin >> string1;
- string2 = wandeleInGrossbuchstaben(string1);
- start = 0;
- end = strlen(string2) - 1;//fangen bei 0 an.
- while (start < end)
- {
- //Wenn Anfang und Ende von Char ist nicht identisch
- //bricht die Schleife ab.
- if (string2[start] != string2[end])
- {
- //Wenn Anfang ungleich Ende von string
- //wissen wir dass es kein Palindrom ist.
- flag = 0;
- break;
- }
- start++;
- end--;
- }
- if (flag)
- {
- cout << string1 << " ist ein Palindrom" << endl;
- }
- else
- cout << string1 << " ist kein Palindrom" << endl;
- cout << string2 << endl;
- system("Pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement