Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iomanip>
- using namespace std;
- //konstantos
- const char Dfv1[] = "Duomenys1.txt";
- const char Dfv2[] = "Duomenys2.txt";
- const char Rfv[] = "Rezultatai.txt";
- const int Ck = 10;
- const int Cm = 20;
- //funkcijos
- void SkaitoS (ifstream & fv, int & kiek, double M[]);
- void Skaito (int & n, double S1[], int & m, double S2[]);
- void Iterpti (double s, int ii, int & kiek, double M[]);
- void Skaiciavimai (int & n, double S1[], int m, double S2[]);
- void Salinti (int & kiek, double M[]);
- void RasoS (int kiek, double M[]);
- int main()
- {
- int n; //pradinio saraso kiekis
- double S1[Cm]; //rezultatu masyvas
- int m; //papildomo saraso kiekis
- double S2[Cm]; //papildomo saraso rezultatai
- Skaito (n, S1, m, S2);
- Skaiciavimai (n, S1, m, S2);
- if (n > Ck) Salinti (n, S1);
- RasoS (n, S1);
- return 0;
- }
- //skaito viena sarasa
- void SkaitoS (ifstream & fv, int & kiek, double M[])
- {
- fv >> kiek;
- for (int i = 0; i < kiek; i++)
- fv >> M[i];
- }
- //duomenu skaitymas
- void Skaito (int & n, double S1[], int & m, double S2[])
- {
- ifstream fd(Dfv1);
- SkaitoS(fd, n, S1);
- fd.close();
- ifstream fdd(Dfv2);
- SkaitoS(fdd, m, S2);
- fdd.close();
- }
- //iterpia elementa
- void Iterpti (double s, int ii, int & kiek, double M[])
- {
- for (int i = kiek; i > ii; i--)
- M[i] = M[i - 1];
- kiek++;
- M[ii] = s;
- }
- //-----------------
- void Skaiciavimai (int & n, double S1[], int m, double S2[])
- {
- for (int i = 0; i < m; i++)
- {
- if (S2[i] <= S1[0])
- {
- Iterpti (S2[i], 0, n, S1);
- }
- else if (S2[i] > S1[n - 1])
- {
- S1[n] = S2[i];
- n++;
- }
- else
- {
- int j = 1;
- while (j < n)
- {
- if ( S2[i] > S1[j - 1] && S2[i] <= S1[j] )
- {
- Iterpti (S2[i], j, n, S1);
- j = n;
- }
- else j++;
- }
- }
- }
- }
- //salina elementa
- void Salinti (int & kiek, double M[])
- {
- for (int i = 0; i < Ck; i++)
- M[i] = M[i + kiek - Ck];
- kiek = Ck;
- }
- //raso vien sarasa
- void RasoS (int kiek, double M[])
- {
- ofstream fr(Rfv);
- if (kiek < Ck) fr << "Komandai dar truksta " << Ck - kiek << " sportininkiu" << endl;
- fr << "Atrinktu sportininkiu geriausiu rezultatu sarasas:" << endl;
- for (int i = 0; i < kiek; i++)
- fr << setw(5) << fixed << setprecision(2) << M[i];
- fr << endl;
- fr.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment