Salut la Communaute!
Je suis entrain d'ecrire un programme en C qui doit retourner une sorte de palindrome, je m'explique:
-Voici un exemple! lorsque j'entre : ANNASUE
il doit me retourner ANNASUESANNA.
ca veut dire il prend le tableau initial : ptr = ANNASUE
le retourne et colle a la suite le palindrome(SUEANNA) mais sans les "UE"; sinon l'on aura ANNASUEEUSANNA;
ca devrait aussi fonctionner avec tout exemple comme : TENET donne au lieu de "TENETTENET" plutot TENETNET.
Je programme sur Linux et dans ce programme l'on ne doit point utiliser la bibliotheque <string.h> sinon ce serait trop facile(<-- a dit le prof ):
voici le code que j'ai ecrit et que j'essaye resourdre en vain depuis quelques jours:
Merci a tous ceux qui voudront y jeter un coup d'oeil.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 #include <stdio.h> #include <stdlib.h> #include <ctype.h> #define Laenge 100 int strlen(char *string) { int len=0; while (string[len] != '\0') len ++; return len; } char *move(char *dest, char *quelle) { int i=0,j=0,anzahl; anzahl = strlen(quelle); dest = (char *) malloc(2*anzahl-1); for(i,j;i!='\0',j<anzahl;j++,i++) { dest[j]= quelle[i]; } return dest; } char *palindrome(char *ptr) { char *ptr2=0; int anzahl,i,j=1; move(ptr2,ptr); anzahl = strlen(ptr); int grenze = 2*anzahl; for (i = anzahl; i != '\0', j < grenze; i--,j++) { ptr2[j+anzahl]= ptr[i-3]; } return ptr2; } int main() { char *my = 0; char tab[Laenge]; printf("Geben sie Ihre String ein : "); scanf("%s",&tab); my = palindrome(tab); printf("Zeichenkette = %s \n", my); free(my); return 0; }
Bon Weekend!
Partager