kestutis

3 pamokėlė | 2 lygis | 2. Moliūgai

Jan 31st, 2014
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.04 KB | None | 0 0
  1. #include <fstream>
  2. #include <iomanip>
  3.  
  4. using namespace std;
  5.  
  6. const char Cdfv[] = "Duomenys.txt";
  7. const char Crfv[] = "Rezultatai.txt";
  8. const int Cm = 100;
  9.  
  10. //funkciju prototipai
  11. void Skaito (int & n, double A[], double & p1, double & p2);
  12. double Vidurkis (double A[], int n);
  13. void Atrinkti (double A[], int n, double p1, double p2, double A1[], int & nn);
  14. void Raso1 (ofstream & fr, double s, double v);
  15. void Raso (double A[], int n, double vid, double vidn);
  16.  
  17. int main()
  18. {
  19.     int n, nn;              //moliugu kiekiai
  20.     double A[Cm], A1[Cm];   //moliugu svoriu masyvai
  21.     double vid, vidn;       //vidutinis moliugo svoris
  22.     double p1, p2;          //svorio reziai
  23.     Skaito (n, A, p1, p2);
  24.     vid = Vidurkis (A, n);
  25.     Atrinkti (A, n, p1, p2, A1, nn);
  26.     if (nn != 0)
  27.         vidn = Vidurkis (A1, nn);
  28.     else
  29.         vidn = 0;
  30.     Raso (A1, nn, vid, vidn);
  31.     return 0;
  32. }
  33. //duomenu skaitymas is failo
  34. void Skaito (int & n, double A[], double & p1, double & p2)
  35. {
  36.     ifstream fd(Cdfv);
  37.     fd >> n >> p1 >> p2;
  38.     for (int i = 0; i <= n; i++)
  39.         fd >> A[i];
  40.     fd.close();
  41. }
  42. //skaiciuoja vidutini moliugo svori
  43. double Vidurkis (double A[], int n)
  44. {
  45.     double sum = 0;
  46.     for (int i = 0; i < n; i++)
  47.         sum += A[i];
  48.     double vid = sum / n;
  49.     return vid;
  50. }
  51. //atrenka moliugu svorius i nauja masyva
  52. void Atrinkti (double A[], int n, double p1, double p2, double A1[], int & nn)
  53. {
  54.     nn = 0;
  55.     for (int i = 0; i < n; i++)
  56.     {
  57.         if (A[i] >= p1 && A[i] <= p2)
  58.         {
  59.             A1[nn] = A[i];
  60.             nn++;
  61.         }
  62.     }
  63. }
  64. //rezultatu rasymo i faila
  65. void Raso (double A[], int n, double vid, double vidn)
  66. {
  67.     ofstream fr(Crfv);
  68.     fr << "Visu moliugu vidutinis svoris: " << fixed << setprecision(3) << vid << " kg." << endl;
  69.  
  70.     if (n == 0)
  71.     {
  72.         fr << "I supirkima nera atrinktu moliugu." << endl;
  73.     }
  74.     else
  75.     {
  76.         fr << "I supirkima " << n << " atrinktu moliugu." << endl;
  77.         fr << "Ju svorius sarasas: ";
  78.         for (int i = 0; i < n; i++)
  79.             fr << fixed << setprecision(3) << A[i] << " ";
  80.         fr << endl;
  81.         fr << "Vidutinis vieno moliugo svoris: " << fixed << setprecision(3) << vidn << " kg." << endl;
  82.     }
  83.     fr.close();
  84. }
Advertisement
Add Comment
Please, Sign In to add comment