rendered paste body
# include <stdio.h>
# include <stdlib.h>
char *mergeStr( char *string1, char *string2, int strlaenge1, int strlaenge2);
char *inverseStr(char *string1, int strlaenge1);
char *Teilstr(char *string1, int strlaenge1);
int main()
{
int aufgabe, string1laenge, string2laenge;
aufgabe = string1laenge = string2laenge = 0;
printf("\nWas möchten sie machen?\n");
printf("1 - 2 Zeichenketten aneinanderhaengen.\n");
printf("2 - Eine Zeichenkette umkehren.\n");
printf("3 - Eine Teilzeichenkette erstellen.\n");
char *string1 = "Ab mit dem Kopf";
char *string2 = "folge dem weissen Kaninchen";
while (*string1++ != '\0') string1laenge++;
string1 -= (string1laenge+1);
while (*string2++ != '\0') string2laenge++;
string2 -= (string2laenge+1);
printf("%s , %s, %d, %d\n", string1, string2, string1laenge, string2laenge);
scanf("%d", &aufgabe);
switch (aufgabe)
{
case 1:
{
mergeStr(string1, string2, string1laenge, string2laenge);
break;
}
case 2:
{
inverseStr(string1, string1laenge);
break;
}
case 3:
{
Teilstr(string1, string1laenge);
break;
}
default:
{
printf("Diese Aufgabe gibt es nicht!\n");
break;
}
}
return 0;
}
char *mergeStr( char *string1, char *string2, int strlaenge1, int strlaenge2)
{
char *mergey;
mergey = (char*) malloc(strlaenge1+strlaenge2+1);
while (*string1 != '\0') *mergey++ = *string1++;
while (*string2 != '\0') *mergey++ = *string2++;
*mergey = '\0';
mergey -= (strlaenge1 + strlaenge2);
printf("%s", mergey);
return mergey;
}
char *inverseStr(char *string1, int strlaenge1)
{
int j;
j=0;
char *inverse;
inverse=(char*) malloc (strlaenge1+1);
while (*string1++ != '\0');
string1-=2;
while (j < strlaenge1)
{
*inverse++ = *string1--;
j++;
}
*inverse = '\0';
inverse -= (strlaenge1 + 1);
printf("\n\n\n%s", inverse);
return inverse;
}
char *Teilstr(char *string1, int strlaenge1)
{
char *teil;
int a, b, i;
a=b=i=0;
printf("Wo soll gestartet werden?");
scanf("%d", &a);
printf("Bis wohin?");
scanf("%d", &b);
teil=(char*) malloc (b-a+1);
while(i<a)
{
i++;
*string1++;
}
i=0;
while (i<(b - a))
{
i++;
*teil++=*string1++;
}
*teil = '\0';
teil -= (b-a);
printf("%s", teil);
return teil;
}