Un mare hacker dorește să facă rău Facebook-ului și s-a gândit că cel mai amuzant ar fi să elimine un cuvânt din toate mesajele utilizatorilor, pentru a crea confuzie. Astfel, pentru un cuvânt dat și un șir de caractere ce va reprezenta un mesaj, el elimină toate aparițiile cuvântului dat în șirul de caractere. O apariție a cuvântului se elimină dacă și numai dacă la stânga și la dreapta acestuia nu se află alte litere (a se vedea exemplul).
Date de intrare
Pe prima linie se găsește un șir de caractere ce conține doar litere ale alfabetului englez și spații, reprezentând cuvântul ce trebuie eliminat. Pe următoarea linie se găsește un șir de caractere format din litere mici și caractere din mulțimea { -, _, ?, !, :, ,, .}.
Date de ieșire
Pe prima linie se găsește un șir de caractere din care au fost eliminate aparițiile cuvântului dat care nu erau învecinate de litere.
Restricții și precizări
Lungimea cuvântului dat este de cel mult 20 de caractere.
Lungimea șirului de caractere este de cel mult 1 000 de caractere.
Exemplu
Date de intrare
ac
ana are un ac. acum merg acasa! dar inainte voi merge la magazin de unde o sa-mi iau un_ac_si un acordeon.
Date de ieșire
ana are un . acum merg acasa! dar inainte voi merge la magazin de unde o sa-mi iau un__si un acordeon.
Folosind string-uri
Răspunsuri la întrebare
Răspuns de
1
// Pentru ca s-a ster caci era link si n-am voie...
#include<cstring>
using namespace std;
int main(){
char c[22]; cin.get(c,22); cin.ignore(); //cuvantul;
char s[1001]; cin.get(s,1001); //mesajul;
char builder[1001];
char * sep = " .,!/?:;";
char * pch = strtok(s,sep);
int counter=0;
int counter_same=0;
while(pch != nullptr){
counter++;
bool same = true;
for(int i=0;i<strlen(c);i++){
if(c[i] != pch[i]){
same = false;
}
}
if(!same){
strcat(builder,pch);
strcat(builder," ");
}
pch = strtok(NULL, sep);
}
cout<<builder;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă