Pozdrav !
Evo profine verzije : )
Da neprevodim.
Code:
//Exercice5correction V2.c SD 27/02/08
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define CACHE ' '
#define DIM 100
char *transformeLaChaine(char *telleChaine,int telMontant, int telDescendant)
{
telleChaine[telMontant]=telleChaine[telDescendant]=CACHE;
return telleChaine;
}
char *restitueLaChaine(const char *telleOriginale,char *telleChaine,int telMontant, int telDescendant)
{
telleChaine[telMontant]=telleOriginale[telMontant];
telleChaine[telDescendant]=telleOriginale[telDescendant];
return telleChaine;
}
void dessinePointeEnBas(char *telleChaine)
{
int leMontant=0,leDescendant=0;
printf("%s\n",telleChaine);
for(leMontant=0, leDescendant=strlen(telleChaine)-1; leMontant< leDescendant ; ++leMontant, --leDescendant)
printf("%s\n",transformeLaChaine(telleChaine,leMontant,leDescendant));
}
void dessinePointeEnHaut(const char *telleOriginale,char *telleChaine)
{
int leMontant=0,leDescendant=0;
int leDebut=0,laFin=strlen(telleChaine)-1;
for(leMontant=0, leDescendant=laFin; leMontant< leDescendant ; ++leMontant, --leDescendant)
transformeLaChaine(telleChaine,leMontant,leDescendant);
for(; leMontant>=0 && leDescendant<=laFin ; --leMontant, ++leDescendant)
printf("%s\n",restitueLaChaine(telleOriginale,telleChaine,leMontant,leDescendant));
}
int main (void) {
char lOriginale[]="tagada tsointsoin";
char laChaine[DIM];
strcpy(laChaine,lOriginale);
dessinePointeEnBas(laChaine);
dessinePointeEnHaut(lOriginale,laChaine);
return 0;
}
Jedno je sigurno, sve je nesigurno :)