Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void saisieA (char * tab){ // Version sans pointeur
- char c;
- int i=0;
- do{
- c = getchar();
- tab[i] = c;
- i++;
- }while(c!='\n');
- tab[i-1]='\0';
- }
- void saisieAbis(char * tab){ // Version avec pointeur
- char c, *p;
- p = tab;
- do{
- c=getchar();
- *p=c;
- p++;
- }while(c!='\n');
- *(p-1)='\0';
- }
- char * saisieB (){
- char tmp [10000];
- char *tab;
- int taille;
- saisieA(tmp);
- taille = strlen(tmp)+1;
- tab = (char *)malloc(taille*sizeof(char));
- strcpy(tab, tmp);
- return tab;
- }
- char* saisiec()
- {
- int i, nb;
- char* ancien;
- char* nouv;
- char car;
- ancien = malloc (1*sizeof(char));
- nb=0;
- fflush(stdin);
- do{
- car = getchar();
- ancien[nb++] = car;
- nouv = malloc ((nb+1)*sizeof(char));
- strncpy(nouv, ancien, nb*sizeof(char));
- free (ancien);
- ancien = nouv;
- }
- while (car != '\n');
- nouv[i-1]= '\0';
- return ancien;
- }
- char * supprime ( char *src, char c) // Découplage donnée/résultat
- {
- char* dest;
- int i, j, cpt, taille;
- for (i = 0, cpt = 0; src[i]!='\0'; i++)
- {
- if (src[i] == c)
- {
- cpt++;
- }
- }
- taille = strlen(src)-cpt +1;
- if(taille != 1){
- dest = (char*)malloc (taille * sizeof(char));
- for ( i = 0 , j = 0; src[i]!='\0'; i++){
- if(src[i]!=c){
- dest[j++] = src[i];
- }
- dest[j]='\0';
- }
- }else{dest = NULL;}
- free(src);
- return dest;
- }
- int main()
- {
- char * tab;
- tab = saisiec();
- tab = supprime(tab,'a');
- printf("tab = %s", tab);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment