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

Se consideră un text cu cel mult 100 de caractere (litere mici ale alfabetului englez şi spaţii), în care cuvintele sunt separate prin unul sau mai multe spaţii. Înaintea primului cuvânt şi după ultimul cuvânt nu există spaţiu. Scrieţi un program C/C++ care citeşte de la tastatură un text de tipul menţionat mai sus şi determină transformarea acestuia în memorie prin eliminarea unor spaţii, astfel încât între oricare două cuvinte alăturate să rămână exact un spaţiu. Programul afişează pe ecran textul obţinut.
Exemplu: pentru textul in vacanta plec la mare se obţine şi se afişează in vacanta plec la mare

Răspunsuri la întrebare

Răspuns de Porecla0987
2

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

char str[100];

cin.getline(str, sizeof(str));

int index = 0;

while(index < strlen(str))

{

 if(str[index] == ' ' && str[index + 1] == ' ')

 {

  int first = index + 1, last;

  for(last = first + 1; str[last] == ' '; ++last);

  strcpy(str + first, str + last);

 }

 ++index;

}

cout << str;

}

Alte întrebări interesante