C Leerzeichenentferner für Palindrom-Ganzsätze

Status
Für weitere Antworten geschlossen.
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;
}
 
Bitte die Regeln beachten, das Forum ist nicht dafür gedacht, deine Hausaufgaben zu erledigen.
 
  • Gefällt mir
Reaktionen: DaysShadow
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Antworten
10
Aufrufe
762
Antworten
10
Aufrufe
953
W
  • Geschlossen
  • Frage
2 3
Antworten
45
Aufrufe
2.670
Zurück
Oben