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;
}
boiustef:
Eu în codul de mai jos propun altă abordare...
#include
using namespace std;
int i=0;
void Trim(char v[111])
{for(i=0;i<=strlen(v)-1;i++)
{
if(v[i]==' ')
{strcpy(v+i,v+i+1);
i--;}
else
break;
}
for(i=strlen(v)-1;i>=0;i--)
{if(v[i]==' ')
{strcpy(v+i,v+i+1);}
else
break;}
}
int main()
{
char v[101];
cin.get(v,101);
Trim(v);
cout< return 0;
}
iată ce propune pbinfo...
Următoarea secvență elimină din șirul s (presupus citit) caracterul de poziția x.
char s[256], t[256];
int x;
//eliminarea
strcpy(t , s + x + 1);
strcpy(s + x , t);
Răspunsuri la întrebare
Răspuns de
0
#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;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă