•chibicitiberiu
Strain
Karma: 3
Deconectat
Mesaje: 49
|
|
« : Noiembrie 22, 2009, 16:46:51 » |
|
Am trimis problema verificata si compilata cu gcc pe linux si a mers perfect. Pe compilatorul asta am primit: Eroare de compilare: user.cpp: In function 'void vote(point)': user.cpp:50: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:50: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:51: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:51: error: expected primary-expression before '*' token user.cpp:51: error: expected primary-expression before ')' token user.cpp:51: error: expected `;' before 'bsearch' user.cpp:54: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:54: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:54: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:54: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp: In function 'int sondaj(point)': user.cpp:65: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:65: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:66: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:66: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:67: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:67: error: expected primary-expression before '*' token user.cpp:67: error: expected primary-expression before ')' token user.cpp:67: error: expected `;' before 'bsearch' user.cpp:73: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&) user.cpp:73: error: reference to 'count' is ambiguous user.cpp:34: error: candidates are: int count /usr/include/c++/4.2/bits/stl_algo.h:424: error: template<class _InputIterator, class _Tp> typename std::iterator_traits::difference_type std::count(_InputIterator, _InputIterator, const _Tp&)
(nu mai am timp sa dau enter la toate liniile) Ce am gresit? Sursa: #define _input "votare.in" #define _output "votare.out"
#include <fstream> #include <stdlib.h>
using namespace std;
class point { public: int x, y; bool la_vot;
int operator % (point a) { int dist; dist = (x-a.x)*(x-a.x)+(y-a.y)*(y-a.y); return dist; };
bool operator == (point a) { if (x == a.x && y == a.y) return true; return false; }; point() { x = 0; y = 0;}; point(int a, int b) { x = a; y = b;}; point(int a, int b, bool c) {x = a; y = b; la_vot = c;};
};
point vot[100000]; int count;
int cmp_pos (const void *a, const void *b) { point c, d; c = *(point *)a; d = *(point *)b; if (c.x == d.x) return c.y - d.y; else return c.x - d.x; }
void vote(point pos) { point *a; qsort((void *)vot, count, sizeof(point), cmp_pos); a = (point *)bsearch(&pos, (void *)vot, count, sizeof(point), cmp_pos);
if (a == NULL ) { vot[count] = pos; count++; }
}
int sondaj (point pos) { int min = 99999, value; point *a;
if (count <= 1) return -1; qsort((void *)vot, count, sizeof(point), cmp_pos); a = (point *) bsearch(&pos, (void *)vot, count, sizeof(point), cmp_pos);
if (a != NULL) { if (a->la_vot) return -1; }
for (int i = 0; i < count; i++) { value = pos % vot[i]; if (value < min) min = value;
}
return min; }
int main() { int n; int action; point pos;
ifstream PNL (_input); PNL>>n; ofstream PSD (_output);
for (int PCR = 0; PCR < n; PCR++) { PNL>>action>>pos.x>>pos.y;
if (action == 0) { pos.la_vot = false; vote (pos); } else if (action == 1) { pos.la_vot = true; vote (pos); }
else if (action == 2) PSD<<sondaj (pos)<<'\n'; }
PNL.close(); PSD.close(); return 0; }
|