#2905
Divizori4
Gigel a găsit un șir cu n
numere naturale, numerotate de la 1
la n
și un număr p
. Neavând chef de muncă, Gigel vă cere să rezolvați următoarele cerințe:
a) Câți divizori are numărul din șir aflat pe poziția p
?
b) Care sunt numerele din șir care au același număr de divizori ca cel aflat pe poziția p
?
Problema | Divizori4 | Operații I/O |
![]() divizori4.in /divizori4.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #43848192 | Utilizator | |
Fișier | divizori4.cpp | Dimensiune | 570 B |
Data încărcării | 19 Mai 2023, 20:20 | Scor / rezultat | Eroare de compilare |
divizori4.cpp: In function 'int main()': divizori4.cpp:31:17: error: no match for 'operator>>' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int*') fin >> pointer + i; ^ divizori4.cpp:31:17: note: candidates are: In file included from /usr/include/c++/4.8/fstream:38:0, from divizori4.cpp:1: /usr/include/c++/4.8/istream:120:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(__istream_type& (*__pf)(__istream_type&)) ^ /usr/include/c++/4.8/istream:120:7: note: no known conversion for argument 1 from 'int*' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&) {aka std::basic_istream<char>& (*)(std::basic_istream<char>&)}' /usr/include/c++/4.8/istream:124:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] operator>>(__ios_type& (*__pf)(__ios_type&)) ^ /usr/include/c++/4.8/istream:124:7: note: no known conversion for argument 1 from 'int*' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' /usr/include/c++/4.8/istream:131:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(ios_base& (*__pf)(ios_base&)) ^ /usr/include/c++/4.8/istream:131:7: note: no known conversion for argument 1 from 'int*' to 'std::ios_base& (*)(std::ios_base&)' /usr/include/c++/4.8/istream:168:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(bool& __n) ^ /usr/include/c++/4.8/istream:168:7: note: no known conversion for argument 1 from 'int*' to 'bool&' /usr/include/c++/4.8/istream:172:7: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>] operator>>(short& __n); ^ /usr/include/c++/4.8/istream:172:7: note: no known conversion for argument 1 from 'int*' to 'short int&' /usr/include/c++/4.8/istream:175:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned short& __n) ^ /usr/include/c++/4.8/istream:175:7: note: no known conversion for argument 1 from 'int*' to 'short unsigned int&' /usr/include/c++/4.8/istream:179:7: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>] operator>>(int& __n); ^ /usr/include/c++/4.8/istream:179:7: note: no known conversion for argument 1 from 'int*' to 'int&' /usr/include/c++/4.8/istream:182:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned int& __n) ^ /usr/include/c++/4.8/istream:182:7: note: no known conversion for argument 1 from 'int*' to 'unsigned int&' /usr/include/c++/4.8/istream:186:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(long& __n) ^ /usr/include/c++/4.8/istream:186:7: note: no known conversion for argument 1 from 'int*' to 'long int&' /usr/include/c++/4.8/istream:190:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned long& __n) ^ /usr/include/c++/4.8/istream:190:7: note: no known conversion for argument 1 from 'int*' to 'long unsigned int&' /usr/include/c++/4.8/istream:195:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(long long& __n) ^ /usr/include/c++/4.8/istream:195:7: note: no known conversion for argument 1 from 'int*' to 'long long int&' /usr/include/c++/4.8/istream:199:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(unsigned long long& __n) ^ /usr/include/c++/4.8/istream:199:7: note: no known conversion for argument 1 from 'int*' to 'long long unsigned int&' /usr/include/c++/4.8/istream:214:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(float& __f) ^ /usr/include/c++/4.8/istream:214:7: note: no known conversion for argument 1 from 'int*' to 'float&' /usr/include/c++/4.8/istream:218:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(double& __f) ^ /usr/include/c++/4.8/istream:218:7: note: no known conversion for argument 1 from 'int*' to 'double&' /usr/include/c++/4.8/istream:222:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(long double& __f) ^ /usr/include/c++/4.8/istream:222:7: note: no known conversion for argument 1 from 'int*' to 'long double&' /usr/include/c++/4.8/istream:235:7: note: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(void*& __p) ^ /usr/include/c++/4.8/istream:235:7: note: no known conversion for argument 1 from 'int*' to 'void*&' /usr/include/c++/4.8/istream:259:7: note: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] operator>>(__streambuf_type* __sb); ^ /usr/include/c++/4.8/istream:259:7: note: no known conversion for argument 1 from 'int*' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' In file included from /usr/include/c++/4.8/string:53:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from divizori4.cpp:1: /usr/include/c++/4.8/bits/basic_string.tcc:996:5: note: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::basic_string<_CharT, _Traits, _Alloc>&) operator>>(basic_istream<_CharT, _Traits>& __in, ^ /usr/include/c++/4.8/bits/basic_string.tcc:996:5: note: template argument deduction/substitution failed: divizori4.cpp:31:30: note: mismatched types 'std::basic_string<_CharT, _Traits, _Alloc>' and 'int*' fin >> pointer + i; ^ In file included from /usr/include/c++/4.8/istream:882:0, from /usr/include/c++/4.8/fstream:38, from divizori4.cpp:1: /usr/include/c++/4.8/bits/istream.tcc:955:5: note: template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*) operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s) ^ /usr/include/c++/4.8/bits/istream.tcc:955:5: note: template argument deduction/substitution failed: divizori4.cpp:31:30: note: deduced conflicting types for parameter '_CharT2' ('char' and 'int') fin >> pointer + i; ^ In file included from /usr/include/c++/4.8/istream:882:0, from /usr/include/c++/4.8/fstream:38, from divizori4.cpp:1: /usr/include/c++/4.8/bits/istream.tcc:923:5: note: template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&) operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c) ^ /usr/include/c++/4.8/bits/istream.tcc:923:5: note: template argument deduction/substitution failed: divizori4.cpp:31:30: note: deduced conflicting types for parameter '_CharT' ('char' and 'int*') fin >> pointer + i; ^ In file included from /usr/include/c++/4.8/fstream:38:0, from divizori4.cpp:1: /usr/include/c++/4.8/istream:727:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&) operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c) ^ /usr/include/c++/4.8/istream:727:5: note: template argument deduction/substitution failed: divizori4.cpp:31:30: note: cannot convert '(pointer + ((sizetype)(((unsigned int)i) * 4u)))' (type 'int*') to type 'unsigned char&' fin >> pointer + i; ^ In file included from /usr/include/c++/4.8/fstream:38:0, from divizori4.cpp:1: /usr/include/c++/4.8/istream:732:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&) operator>>(basic_istream<char, _Traits>& __in, signed char& __c) ^ /usr/include/c++/4.8/istream:732:5: note: template argument deduction/substitution failed: divizori4.cpp:31:30: note: cannot convert '(pointer + ((sizetype)(((unsigned int)i) * 4u)))' (type 'int*') to type 'signed char&' fin >> pointer + i; ^ In file included from /usr/include/c++/4.8/fstream:38:0, from divizori4.cpp:1: /usr/include/c++/4.8/istream:774:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*) operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s) ^ /usr/include/c++/4.8/istream:774:5: note: template argument deduction/substitution failed: divizori4.cpp:31:30: note: cannot convert '(pointer + ((sizetype)(((unsigned int)i) * 4u)))' (type 'int*') to type 'unsigned char*' fin >> pointer + i; ^ In file included from /usr/include/c++/4.8/fstream:38:0, from divizori4.cpp:1: /usr/include/c++/4.8/istream:779:5: note: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*) operator>>(basic_istream<char, _Traits>& __in, signed char* __s) ^ /usr/include/c++/4.8/istream:779:5: note: template argument deduction/substitution failed: divizori4.cpp:31:30: note: cannot convert '(pointer + ((sizetype)(((unsigned int)i) * 4u)))' (type 'int*') to type 'signed char*' fin >> pointer + i; ^ In file included from /usr/include/c++/4.8/fstream:38:0, from divizori4.cpp:1: /usr/include/c++/4.8/istream:872:5: note: std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = int*] operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x) ^ /usr/include/c++/4.8/istream:872:5: note: no known conversion for argument 2 from 'int*' to 'int*&' divizori4.cpp:31:28: warning: suggest parentheses around '+' inside '>>' [-Wparentheses] fin >> pointer + i; ^ divizori4.cpp:34:36: error: invalid conversion from 'int*' to 'int' [-fpermissive] fout << NrDivizori(pointer + p); ^ divizori4.cpp:11:5: error: initializing argument 1 of 'int NrDivizori(int)' [-fpermissive] int NrDivizori(int n) { ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Divizori4 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ă.