Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iostream>
- #include <string>
- #include <iomanip>
- using namespace std;
- ifstream in("input.txt");
- ofstream out("output.txt");
- struct mas {
- string fam, name, secondname, date;
- int ses[5];
- int key;
- void print();
- };
- void mas::print() {
- out << setw(12) << left << fam << setw(10) << name << setw(15) << secondname << setw(5) << date << ' ';
- for (int i = 0; i < 5; i++)
- {
- out << setw(3) << ses[i];
- }
- out << setw(5) << key << endl;
- }
- void Shell(mas *a, int n)
- {
- mas temp;
- int i, j, incr = n / 2;
- while (incr > 0)
- {
- for (i = incr; i < n; i++)
- {
- j = i - incr;
- while (j >= 0)
- if (a[j].name > a[j + incr].name)
- {
- temp = a[j];
- a[j] = a[j + incr];
- a[j + incr] = temp;
- j = j - incr;
- }
- else j = -1;
- }
- incr = incr / 2;
- }
- }
- int main() {
- int m, i;
- if (!in) {
- cout << "Error message here!\n";
- }
- else
- {
- int k; cout << "Enter the number of students";
- cin >> k;
- mas *stud = new mas[k];
- in >> m;
- for (int m = 0; m < k; ++m)
- {
- in >> stud[m].fam;
- in >> stud[m].name;
- in >> stud[m].secondname;
- in >> stud[m].date;
- in >> stud[m].ses[m];
- }
- Shell(stud, k);
- for (i = 0; i < k; ++i)
- stud[i].print();
- delete[] stud;
- }
- in.close();
- out.close();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement