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

Se dă un şir de caractere ce conţine cuvinte formate din litere mici ale alfabetului englez, separate prin unul sau mai multe spații.

Cerinţa
Să se afişeze şirul obţinut după eliminarea din șir unor spații, astfel încât între cuvinte să fie un singur spațiu și să nu nu existe spații înainte de primul cuvânt și nici după ultimul.

Date de intrare
Programul va citi de la tastatură şirul dat.

Date de ieşire
Programul va afişa pe ecran şirul transformat corespunzător.

Restricţii şi precizări
șirul dat va conține cel mult 255 caractere, litere mici ale alfabetului englez și spații

Exemplu
Intrare

in vacanta plec la mare
Ieşire

in vacanta plec la mare

Răspunsuri la întrebare

Răspuns de iulyus01
2

#include <iostream>

#include <cstring>

using namespace std;

int main(){

   

   char s[255], *p;

   cin.get(s, 255);

   

   for(p = s; *p; p++) {

       if(*p == ' ' && *(p + 1) == ' ') {

           strcpy(p, p + 1);

           p--;

       }

   }

   if(*(p - 1) == ' ') *(p - 1) = NULL;

   if(s[0] == ' ') strcpy(s, s + 1);

   

   cout<<s<<endl;    

}


Răspuns de Palmabil
0

#include<bits/stdc++.h>

using namespace std;

int main()

{

   string s,ss;

   int n=0,ap=0,t,j=0;

   getline(cin,s);

   for(int i=0;i<s.length();i++)

   {

       if(s[i]!=' ')

           cout<<s[i];

       if(s[i]!=' ' && s[i+1]==' ')

           cout<<' ';

   }

   return 0;

}

Alte întrebări interesante