Informatică, întrebare adresată de silentium, 8 ani în urmă

Scrieți funcția Trim care primește ca parametru un șir de caractere s, elimină eventualele spații de la începutul și sfârșitul șirului și returnează tot prin intermediul lui s șirul de caractere rezultat.​

Răspunsuri la întrebare

Răspuns de lucaciucandrei
8

void Trim(char s[]) {

   int i = 0, sem = 0;

   int p1, p2;

   while (s[i] != '\0') {

       if (s[i] != ' ' && sem == 0)

           sem = 1, p1 = i;

       if (s[i] != ' ')

           p2 = i;

       i++;

   }

   for (int i = p1; i <= p2; i++)

       s[i - p1] = s[i];

   s[p2 - p1 + 1] = '\0';

}


BiancaRebeca: super raspuns!
lucaciucandrei: mersi esti o scumpa
Răspuns de BiancaRebeca
6

void strcpy(char * dest,

const char * src) {

int i;

for (i = 0; src[i] != '\0'; i++)

dest[i] = src[i];

dest[i] = '\0';

}

void Trim(char * s) {

char * str = new char[101];

strcpy(str, s);

while (str[0] == ' ' str[0] == '\t') {

str++;

}

int len = 0;

while (str[len] != '\0')

len++;

while (str[len - 1] == ' ' str[len - 1] == '\t') {

str[len - 1] = '\0';

len--;

}

strcpy(s, str);

}


lucaciucandrei: ce tareeeee
Alte întrebări interesante