Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <vector>
- #include <algorithm>
- using namespace std;
- struct studentas{
- string firstName;
- string secondName;
- vector<double> nd;
- double egz;
- };
- void display ();
- double median (vector<double> set);
- int main()
- {
- //Storing information
- cout << "Kiek noresite ivesti studentu ?"<< endl;
- int stud;
- cin >> stud;
- /*
- while (stud =< 0 || stud == " ")
- {
- cout << "Ivedet neteisingus duomenis, prasome vesti per nauja: "<< endl;
- cin >> stud
- }
- */
- cout << "Kiek noresite ivesti namu darbu ?"<< endl;
- int n;
- cin >> n;
- vector<double> ndVid(n);
- vector<double> galutinis(stud);
- vector<double> galutinis2(stud);
- vector<studentas> s(stud);
- cout << "Iveskit studentu informacija: " << endl;
- for (int i = 0; i < stud; i++)
- {
- ndVid[i] = 0;
- s[i].nd.resize(n);
- cout << "Iveskit varda: ";
- cin >> s[i].firstName;
- cout << "Iveskit pavarde: ";
- cin >> s[i].secondName;
- cout << "Iveskit egzamino rezultata: ";
- cin>> s[i].egz;
- for (int j = 0; j< n; j++){
- cout << "Iveskit namu darbo rezultata: ";
- cin >> s[i].nd[j];
- //Vidurkio skaiciavimas
- ndVid[i]+=s[i].nd[j];
- //cout << ndVid[i] << endl;
- }
- ndVid[i] /= n;
- //Galutinio formule
- galutinis[i] = 0.4 * ndVid[i] + 0.6 * s[i].egz;
- galutinis2[i] = 0.4 * median(s[i].nd[i]) + 0.6 * s[i].egz;
- }
- //Displaying information
- cout << "Jeigu norite skaiciuote galutini su vidurkiu spauskitine 0, jeigu su mediana, spauskite 1"<< endl;
- int tmp=0;
- cin >> tmp;
- if (tmp == 0){
- //Su vidurkiu
- cout << "Jusu pateikta informacija: " << endl;
- cout << "Pavarde" << " " << "Vardas" <<" "<< "Galutinis(Vid.)" << endl;
- for (int i = 0; i < 20; i++ ){
- cout <<"-";
- }
- cout<<endl;
- for (int i = 0; i <stud; ++i)
- {
- cout << s[i].firstName << " " << s[i].secondName << fixed<< setprecision(2) <<" "<< galutinis[i] << endl;
- }
- }
- //Su mediana
- else {
- cout << "Jusu pateikta informacija: " << endl;
- cout << "Pavarde" << " " << "Vardas" <<" "<< "Galutinis(Med.)" << endl;
- for (int i = 0; i < 20; i++ ){
- cout <<"-";
- }
- cout<<endl;
- for (int i = 0; i <stud; ++i)
- {
- cout << s[i].firstName << " " << s[i].secondName << fixed<< setprecision(2) <<" "<< galutinis2[i] << endl;
- }
- }
- return 0;
- }
- //Medianos skaiciavimas
- double median (vector<double> set)
- {
- sort(set.begin(), set.end());
- return (set.size()% 2 == 0 ? (set[set.size()/2] + set[(set() / 2 ) - 1]) / 2 : set[set.size() / 2]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement