C++ Bc. 11 cpp
#include <iostream> #include <sstream> #include <map> #include <iomanip> struct Test { float uspesnost; int celkem; }; typedef std::map<int, Test> Data; void uspesnost(std::istream& input, Data& data); int main() { using namespace std; // vstupni data pro testovani, jinak std::cin istringstream input(" 1 2 3 -2 -1 4 1 6 1 3" "-4 2 -1 3 -7 1 -1 4 -2 -1" "-2 3 1 -3 4 6 -7 -1 1 1"); Data data; uspesnost(input, data); // format fixed, vystup na 2 desetinna mista cout.setf(ios_base::fixed, ios_base::floatfield); cout.precision(2); cout << "cislo celkem uspesnost \n"; for (Data::iterator i=data.begin(), e=data.end(); i!=e; ++i) { int cislo = i->first; float uspesnost = i->second.uspesnost; int celkem = i->second.celkem; cout << setw(4) << cislo << " " << setw(5) << celkem << " " << setw(8) << uspesnost << "\n"; } } void uspesnost(std::istream& input, Data& data) { using namespace std; int t, cislo; while (input >> t) { cislo = abs(t); if (t > 0) data[cislo].uspesnost++; data[cislo].celkem++; } for (Data::iterator i=data.begin(), e=data.end(); i!=e; ++i) { Test& t = i->second; t.uspesnost /= t.celkem; } }
[ Zpět ]