👤

Readuc o problema in discutie... problema #2666 de pe pbinfo (link https://www.pbinfo.ro/?pagina=probleme&id=2666)

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.... etc

Deci am facut problema si-mi da doar 30 de puncte si nu stiu ce caz nu merge.... Aveti mai jos programul, verificati/modificati/rescrieti. Astept propuneri de programe similare sau sfaturi pt alte erori de compilare ;)))))

#include
#include
using namespace std;
int i=0;
void Trim(char v[111])
{while(v[i]==' ')
{strcpy(v+i,v+i+1);i++;
if(v[i+1]==' ')
i--;
}
if(v[0]==' ')
strcpy(v,v+1) ;
for(i=strlen(v)-1;i>=0;i--)
if(v[i]==' ')
v[i]='\0';
else
break;


}

int main()
{
char v[101];
cin.get(v,101);
Trim(v);
cout< return 0;
}



Răspuns :

#include <iostream>

#include <fstream>

#include <cstring>

using namespace std;

ifstream f("trim.in");

ofstream g("trim.out");

char s[100];

int n;

void Trim(char s[100])

{

   int p, u, i, n, k=-1;

   char w[100];

   n=strlen(s);

   p=0; while (s[p]==' ') ++p;

   u=n-1; while (s[u]==' ') --u;

   w[0]='\0';

   for (i=p; i<=u; ++i)

   {

       ++k; w[k]=s[i];

   }

   ++k; w[k]='\0';

   s[0]=0;

   strcpy(s,w);

}

int main()

{

   f.getline(s,100);

   Trim(s);

   g << s;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari