RalphusGassnus
Newbie
- Registriert
- März 2022
- Beiträge
- 1
Hallo,
Ich habe von meinem lehrer einen auftrag bekommen um bei diesem Programm die Leerzeichen von der Eingabe zu entfernen, dass auch ganze Sätze als Palindrom erkannt werden. Jedoch weiß ich nicht wie das geht und wollte euch fragen wie das funktioniert. Ich hoffe auf rasche Antworten
PS: Man darf keine Stringfunktionen aus "<string.h>" verwenden
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define SIZE 500 // Präprozessor-Konstante
int laenge(char[]);
void allesgross(char[],int); // Prototypen
bool istPalindrom(char[],int);
int main()
{
char text[SIZE] = {' '}; // Variablen(array)
int zaehler = 0; // Variablen
printf("Geben sie ihren Text ein: ");
fgets(text,SIZE,stdin); // Eingabe
zaehler = laenge(text);
allesgross(text, zaehler);
printf("Der Text betraegt %d Zeichen\n",zaehler-1);
printf("In Grossbuchstaben lautet der Text: %s",text);
if(istPalindrom(text,zaehler) == true)
{
printf("Palindrom enthalten");
}
else // Palindrom-Erkenner
{
printf("Kein Palindrom enthalten");
}
return 0;
}
int laenge(char text[]) //Wertfunktion(Zeichen-Zähler)
{
int zaehler = 0;
while(text[zaehler] != '\0')
{
zaehler++;
}
return zaehler;
}
void allesgross(char text[SIZE], int zaehler) //Leerfunktion (Großschrift-Umwandler)
{
for(int i = 0; i < zaehler; i++)
{
if(text >= 'a' && text <= 'z')
{
text = text - ('a' - 'A');
}
}
}
bool istPalindrom(char text[],int zaehler) // Wertfunktion (Palindrom erkenner)
{
int i = 0;
int j = zaehler-2;
while(i < j)
{
if(text==text[j])
{
i++;
j--;
}
else
{
return false;
}
}
return true;
}
Ich habe von meinem lehrer einen auftrag bekommen um bei diesem Programm die Leerzeichen von der Eingabe zu entfernen, dass auch ganze Sätze als Palindrom erkannt werden. Jedoch weiß ich nicht wie das geht und wollte euch fragen wie das funktioniert. Ich hoffe auf rasche Antworten
PS: Man darf keine Stringfunktionen aus "<string.h>" verwenden
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define SIZE 500 // Präprozessor-Konstante
int laenge(char[]);
void allesgross(char[],int); // Prototypen
bool istPalindrom(char[],int);
int main()
{
char text[SIZE] = {' '}; // Variablen(array)
int zaehler = 0; // Variablen
printf("Geben sie ihren Text ein: ");
fgets(text,SIZE,stdin); // Eingabe
zaehler = laenge(text);
allesgross(text, zaehler);
printf("Der Text betraegt %d Zeichen\n",zaehler-1);
printf("In Grossbuchstaben lautet der Text: %s",text);
if(istPalindrom(text,zaehler) == true)
{
printf("Palindrom enthalten");
}
else // Palindrom-Erkenner
{
printf("Kein Palindrom enthalten");
}
return 0;
}
int laenge(char text[]) //Wertfunktion(Zeichen-Zähler)
{
int zaehler = 0;
while(text[zaehler] != '\0')
{
zaehler++;
}
return zaehler;
}
void allesgross(char text[SIZE], int zaehler) //Leerfunktion (Großschrift-Umwandler)
{
for(int i = 0; i < zaehler; i++)
{
if(text >= 'a' && text <= 'z')
{
text = text - ('a' - 'A');
}
}
}
bool istPalindrom(char text[],int zaehler) // Wertfunktion (Palindrom erkenner)
{
int i = 0;
int j = zaehler-2;
while(i < j)
{
if(text==text[j])
{
i++;
j--;
}
else
{
return false;
}
}
return true;
}