#4263
Studiind instrucțiunea if
, Alinutza a aflat că ramura else
se asociază celui mai apropiat if
neasociat încă. Aprofundând studiul, a extras din fiecare program scris cuvintele if
și else
. Din neatenție a transcris greșit, pierzând asocierea corectă if else
. Ajutați-o voi să aibă scrierea corectă, folosind un număr minim de modificări. O modificare înseamnă să înlocuim un cuvânt if
cu else
sau un cuvânt else
cu if
.
Problema | ifelse | Operații I/O |
![]() ifelse.in /ifelse.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #58172845 | Utilizator | |
Fișier | ifelse.cpp | Dimensiune | 1.15 KB |
Data încărcării | 18 Mai 2025, 16:07 | Scor / rezultat | Eroare de compilare |
ifelse.cpp:48:22: warning: multi-character character constant [-Wmultichar] if (strchr(c,'if')) { ^ ifelse.cpp:50:30: warning: multi-character character constant [-Wmultichar] } else if (strchr(c, 'else')) { ^ ifelse.cpp: In function 'int test(char*)': ifelse.cpp:46:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (i < strlen(t)) { ^ ifelse.cpp:48:26: error: call of overloaded 'strchr(char&, int)' is ambiguous if (strchr(c,'if')) { ^ ifelse.cpp:48:26: note: candidates are: In file included from /usr/include/c++/4.8/cstring:42:0, from ifelse.cpp:3: /usr/include/string.h:223:1: note: char* strchr(char*, int) <near match> strchr (char *__s, int __c) __THROW ^ /usr/include/string.h:223:1: note: no known conversion for argument 1 from 'char' to 'char*' /usr/include/string.h:229:1: note: const char* strchr(const char*, int) <near match> strchr (const char *__s, int __c) __THROW ^ /usr/include/string.h:229:1: note: no known conversion for argument 1 from 'char' to 'const char*' ifelse.cpp:50:36: error: call of overloaded 'strchr(char&, int)' is ambiguous } else if (strchr(c, 'else')) { ^ ifelse.cpp:50:36: note: candidates are: In file included from /usr/include/c++/4.8/cstring:42:0, from ifelse.cpp:3: /usr/include/string.h:223:1: note: char* strchr(char*, int) <near match> strchr (char *__s, int __c) __THROW ^ /usr/include/string.h:223:1: note: no known conversion for argument 1 from 'char' to 'char*' /usr/include/string.h:229:1: note: const char* strchr(const char*, int) <near match> strchr (const char *__s, int __c) __THROW ^ /usr/include/string.h:229:1: note: no known conversion for argument 1 from 'char' to 'const char*' ifelse.cpp: In function 'int main()': ifelse.cpp:66:15: error: no matching function for call to 'std::basic_ifstream<char>::getline()' f.getline(); ^ ifelse.cpp:66:15: note: candidates are: In file included from /usr/include/c++/4.8/iostream:40:0, from ifelse.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, 0 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: candidate expects 2 arguments, 0 provided
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema ifelse 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ă.