Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Jonaitis Jonas 20 2 20 12
- Petraitis Petras 5 2 12 25
- Kazimieras Kazys 12 2 33 14
- */
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- struct Protokolas{
- string pav;
- string vard;
- int nr;
- int val;
- int min;
- int sek;
- };
- void Skaityti(Protokolas A[], int & n);
- void Irasymas(Protokolas A[], int n);
- void Automatinis(Protokolas A[], int n);
- bool Raktas(Protokolas A, Protokolas B);
- void Rikiavimas(Protokolas A[], int n);
- int main(){
- Protokolas A[100];
- int n = 0;
- Skaityti(A, n);
- Irasymas(A, n);
- return 0;
- }
- void Skaityti(Protokolas A[], int & n){
- ifstream FD("Protokolas.txt");
- while(!FD.eof()){
- FD >> A[n].pav >> A[n].vard >> A[n].nr >> A[n].val >> A[n].min >> A[n].sek;
- n++;
- }
- FD.close();
- }
- void Irasymas(Protokolas A[], int n){
- ofstream FR("Rezultatai.txt");
- FR << "Pradiniai duomenys:" << endl; cout << "Pradiniai duomenys:" << endl;
- for(int i = 0; i < n; i++){
- FR << A[i].vard << " " << A[i].pav << " " << A[i].nr << " " << A[i].val << ":" << A[i].min << ":" << A[i].sek << endl;
- cout << A[i].vard << " " << A[i].pav << " " << A[i].nr << " " << A[i].val << ":" << A[i].min << ":" << A[i].sek << endl;
- }
- FR << endl; cout << endl;
- FR << "Po pervarkymu:" << endl; cout << "Po pervarkymu:" << endl;
- Automatinis(A, n);
- Rikiavimas(A, n);
- for(int i = 0; i < n; i++){
- FR << A[i].vard << " " << A[i].pav << " " << A[i].nr << " " << A[i].val << ":" << A[i].min << ":" << A[i].sek << endl;
- cout << A[i].vard << " " << A[i].pav << " " << A[i].nr << " " << A[i].val << ":" << A[i].min << ":" << A[i].sek << endl;
- }
- FR.close();
- }
- /////////////////////////////////////////////////////////////////////////////////////////////
- void Automatinis(Protokolas A[], int n){
- for(int i = 0; i < n; i++){
- A[i].val += 1;
- A[i].min += 20;
- A[i].sek += 15;
- }
- }
- bool Raktas(Protokolas A, Protokolas B){
- //if ((A.val > B.val) && (A.min > B.min) && (A.sek > B.sek)){
- if ((A.val > B.val) || (A.min > B.min) || (A.sek > B.sek)){
- return true;
- } else {
- return false;
- }
- }
- void Rikiavimas(Protokolas A[], int n){
- int mini;
- Protokolas b;
- for(int i = 0; i < n - 1; i++){
- mini = i;
- for(int j = i + 1; j < n; j++)
- if (Raktas(A[j], A[mini]))
- mini = j;
- b = A[i];
- A[i] = A[mini];
- A[mini] = b;
- }
- }
- /////////////////////////////////////////////////////////////////////////////////////////////
- //rikiuoja pagal pavardes
- bool Raktas(Protokolas A, Protokolas B){
- //if ((A.val > B.val) && (A.min > B.min) && (A.sek > B.sek)){
- //if ((A.val > B.val) || (A.min > B.min) || (A.sek > B.sek)){
- if (
- (A.val > B.val) || (A.min > B.min) || (A.sek > B.sek)
- &&
- (A.val == B.val) || (A.min == B.min) || (A.sek == B.sek)
- && (A.pav > B.pav)
- )
- return true;
- else
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment