Advertisement
Solomid

Untitled

Dec 23rd, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.88 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. char* whitespace(char* s)
  5. {
  6.     char *p = s, *pocetak = s;
  7.     char *pom1, *pom2;
  8.  
  9.     while(*s != '\0') {
  10.         if(*s == '\n' || *s == '\t')
  11.             *s = ' ';
  12.         s++;
  13.     }
  14.    
  15.     while(*p != '\0') {        
  16.         if(*p == ' ') {
  17.             if(p != pocetak && *(p-1) != ' ' && *(p+1) != '\0'){
  18.                 p++;   
  19.             }
  20.            
  21.             pom1 = p;  //za brisanje razmaka
  22.             pom2 = p; // za vracanje pokazivaca nakon brisanja
  23.            
  24.             while(*pom1 == ' ') {
  25.                 pom1++;
  26.             }
  27.            
  28.             if(*pom1 == '\0') { // uslov za kraj stringa
  29.                 if(p != pocetak) p--;
  30.                 *p = *pom1;
  31.                 break;
  32.             }
  33.            
  34.             while(*p != '\0') {
  35.                 *p = *pom1;
  36.                 if(*p == '\0') break;
  37.                 p++;
  38.                 pom1++;
  39.             }
  40.             p = pom2;
  41.             p--; // da ne preskoci nijedan znak
  42.         }
  43.         p++;
  44.     }
  45.     return pocetak;
  46. }
  47.  
  48.  
  49. int main()
  50. {
  51.     char tekst[] = "Druga\nrecenica\t\n\t";
  52.     printf("'%s'", whitespace(tekst));
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement