#2997
prescurtat
C++
Scrieți funcția cu următorul antet:
void Prescurtat(char s[])
Funcția primește ca parametru un text de cel mult 50
de caractere, alcătuit din cuvinte separate prin câte un spațiu și formate din litere mari ale alfabetului englez, urmate eventual de caracterul .
(punct), dacă sunt scrise prescurtat. Textul reprezintă numele unei instituții de învățământ și doar cuvintele din mulțimea {COLEGIUL
, LICEUL
, NATIONAL
, TEORETIC
} pot fi prescurtate, eliminându-se ultimele lor litere. Funcția va returna tot prin intermediul parametrului s
numele instituției scris fără prescurtări.
Simulare bacalaureat 2019
Problema | prescurtat | Operații I/O |
prescurtat.in /prescurtat.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #41884349 | Utilizator | |
Fișier | prescurtat.cpp | Dimensiune | 573 B |
Data încărcării | 07 Februarie 2023, 14:11 | Scor / rezultat | Eroare de compilare |
prescurtat.cpp:5:70: error: could not convert '{"COLEGIUL", "NATIONAL", "TEORETIC", "LICEUL"}' from '<brace-enclosed initializer list>' to 'char*' void Prescurtat(char s[4]={"COLEGIUL","NATIONAL","TEORETIC","LICEUL"}) ^ prescurtat.cpp: In function 'void Prescurtat(char*)': prescurtat.cpp:9:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(i=0;i<strlen(s);i++) ^ prescurtat.cpp:10:18: warning: comparison with string literal results in unspecified behaviour [-Waddress] if(s[i]==".") ^ prescurtat.cpp:10:18: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] prescurtat.cpp:13:21: warning: comparison with string literal results in unspecified behaviour [-Waddress] while(s[j]!=" " && j>0) ^ prescurtat.cpp:13:21: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] prescurtat.cpp:15:23: error: invalid conversion from 'int' to 'char*' [-fpermissive] strcpy(t,s+i+1); ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/iosfwd:38, from /usr/include/c++/4.8/ios:38, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from prescurtat.cpp:1: /usr/include/i386-linux-gnu/bits/string3.h:102:1: error: initializing argument 1 of 'char* strcpy(char*, const char*)' [-fpermissive] __NTH (strcpy (char *__restrict __dest, const char *__restrict __src)) ^ prescurtat.cpp:17:13: error: invalid conversion from 'const char*' to 'char' [-fpermissive] s[j]="\0"; ^ prescurtat.cpp:18:15: warning: comparison with string literal results in unspecified behaviour [-Waddress] if(c=="C") ^ prescurtat.cpp:18:15: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] prescurtat.cpp:20:20: warning: comparison with string literal results in unspecified behaviour [-Waddress] else if(c=="N") ^ prescurtat.cpp:20:20: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] prescurtat.cpp:22:20: warning: comparison with string literal results in unspecified behaviour [-Waddress] else if(c=="T") ^ prescurtat.cpp:22:20: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] prescurtat.cpp:24:20: warning: comparison with string literal results in unspecified behaviour [-Waddress] else if(c=="L") ^ prescurtat.cpp:24:20: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] prescurtat.cpp:26:19: error: invalid conversion from 'char' to 'const char*' [-fpermissive] strcat(s,c); ^ In file included from /usr/include/features.h:374:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/i386-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/iosfwd:38, from /usr/include/c++/4.8/ios:38, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from prescurtat.cpp:1: /usr/include/i386-linux-gnu/bits/string3.h:140:1: error: initializing argument 2 of 'char* strcat(char*, const char*)' [-fpermissive] __NTH (strcat (char *__restrict __dest, const char *__restrict __src)) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema prescurtat face parte din a doua categorie. Pentru aceste probleme se folosește un program suport, furnizat de propunătorul problemei. 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ă.