#1873
cuvinte_pare
Scrieți un program C/C++ care citește de la tastatură un text și îl transformă în memorie prin înlocuirea fiecărui cuvânt format din număr par de litere cu simbolul #
.
Problema | cuvinte_pare | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #43380599 | Utilizator | |
Fișier | cuvinte_pare.cpp | Dimensiune | 405 B |
Data încărcării | 23 Aprilie 2023, 13:34 | Scor / rezultat | Eroare de compilare |
cuvinte_pare.cpp: In function 'int main()': cuvinte_pare.cpp:5:23: error: array must be initialized with a brace-enclosed initializer int s[101],t[101]="",*p,ok=0; ^ cuvinte_pare.cpp:6:22: error: no matching function for call to 'std::basic_istream<char>::getline(int [101], int)' cin.getline(s,101); ^ cuvinte_pare.cpp:6:22: note: candidates are: In file included from /usr/include/c++/4.8/iostream:40:0, from cuvinte_pare.cpp:1: /usr/include/c++/4.8/istream:618:5: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize, std::basic_istream<_CharT, _Traits>::char_type) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = int] basic_istream<char>:: ^ /usr/include/c++/4.8/istream:618:5: note: candidate expects 3 arguments, 2 provided /usr/include/c++/4.8/istream:427:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::getline(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = int] getline(char_type* __s, streamsize __n) ^ /usr/include/c++/4.8/istream:427:7: note: no known conversion for argument 1 from 'int [101]' to 'std::basic_istream<char>::char_type* {aka char*}' cuvinte_pare.cpp:7:19: error: cannot convert 'int*' to 'char*' for argument '1' to 'char* strtok(char*, const char*)' p=strtok(s," "); ^ cuvinte_pare.cpp:9:20: error: cannot convert 'int*' to 'const char*' for argument '1' to 'size_t strlen(const char*)' if(strlen(p)%2==0) strcat(t,"# "); ^ cuvinte_pare.cpp:9:41: error: cannot convert 'int*' to 'char*' for argument '1' to 'char* strcat(char*, const char*)' if(strlen(p)%2==0) strcat(t,"# "); ^ cuvinte_pare.cpp:11:23: error: cannot convert 'int*' to 'char*' for argument '1' to 'char* strcat(char*, const char*)' strcat(t,p); ^ cuvinte_pare.cpp:12:25: error: cannot convert 'int*' to 'char*' for argument '1' to 'char* strcat(char*, const char*)' strcat(t," "); ^ cuvinte_pare.cpp:14:10: error: cannot convert 'char*' to 'int*' in assignment p=strtok(NULL," "); ^ cuvinte_pare.cpp:16:15: error: cannot convert 'int*' to 'const char*' for argument '1' to 'size_t strlen(const char*)' t[strlen(t)-1]='\0'; ^ cuvinte_pare.cpp:17:15: error: cannot convert 'int*' to 'char*' for argument '1' to 'char* strcpy(char*, const char*)' strcpy(s,t); ^ cuvinte_pare.cpp:5:29: warning: unused variable 'ok' [-Wunused-variable] int s[101],t[101]="",*p,ok=0; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema cuvinte_pare face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.