A voir également:
- Fonction de suppression des espaces en C
- Fonction si et - Guide
- Forcer suppression fichier - Guide
- Espaces insécables - Guide
- Suppression des cookies - Guide
- Comment liberer de l'espace sur gmail - Guide
4 réponses
Marden
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
210
15 janv. 2004 à 11:47
15 janv. 2004 à 11:47
Vrai pour la limite ( i <= nb, ce qui permet de transférer le "\0" terminal ) et l'opérateur logique ( && ), mais évidemment pas pour l'indice ( j ) à conserver.
L'utilisation du tableau intermédiaire ( ligne ) est inutile, on peut utiliser directement le tableau d'entrée et supprimer l'appel à strnCopy(), en codant :
Nota : la fonction strLen() recherche (et s'arrête sur) le premier caractère "\0" de la chaîne.
L'utilisation du tableau intermédiaire ( ligne ) est inutile, on peut utiliser directement le tableau d'entrée et supprimer l'appel à strnCopy(), en codant :
ligneSpace[j++]=ligneSpace[i];
Nota : la fonction strLen() recherche (et s'arrête sur) le premier caractère "\0" de la chaîne.
slt, ca résoudra peut etre pas ton pb, mais je pense que tu peux améliorer 2-3 trucs
dans ton for mets i inférieur ou égal à nb
vire la variable j de la fonction et mets i à la place dans ton code puisque que les 2 var varient à l'identique
et surtout dans la condition, j'aurais mis un "et" et pas "ou"... a mon avis c ca qui est mauvais mais je me plante peut etre.
++
dans ton for mets i inférieur ou égal à nb
vire la variable j de la fonction et mets i à la place dans ton code puisque que les 2 var varient à l'identique
et surtout dans la condition, j'aurais mis un "et" et pas "ou"... a mon avis c ca qui est mauvais mais je me plante peut etre.
++
j'ai oublié de préciser aussi qu'il faut initialiser ligne, sinon ca va t'afficher n'importe quoi...
voiçi un ti programme en c qu j'ai realisé qui va supprimer les aspaces d'une chaine.faire le transformer dans ta fonction.gd luck
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{int j,i,n,k=0;
char *p;
p=malloc(100*sizeof(char));
puts("entrer une phrase \a au maximum comport 100 carracters \a");
gets(p);
n=strlen(p);
for(i=0;i<n;i++)
{if(p[i]==' ')
{for(j=i;j<n;j++)
{p[j]=p[j+1];}}}
printf("%s\n",p);
system("PAUSE");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{int j,i,n,k=0;
char *p;
p=malloc(100*sizeof(char));
puts("entrer une phrase \a au maximum comport 100 carracters \a");
gets(p);
n=strlen(p);
for(i=0;i<n;i++)
{if(p[i]==' ')
{for(j=i;j<n;j++)
{p[j]=p[j+1];}}}
printf("%s\n",p);
system("PAUSE");
return 0;
}