kestutis

2 lygis | 6 pamokėlė | 2. Matematikos kontroliniai darbai

May 8th, 2014
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.11 KB | None | 0 0
  1. #include <iomanip>
  2. using namespace std;
  3.  
  4. //konstantos
  5. const char Cdfv[] = "Duomenys2.txt";
  6. const char Crfv[] = "Rezultatai.txt";
  7. const int Cm = 30;
  8. const int Ck = 10;
  9.  
  10. int P[Cm][Ck];
  11.  
  12. //proceduros
  13. void Skaito (int & n, int & m);
  14. void Vidurkis_m (int n, int m, double V[]);
  15. void Vidurkis_k (int n, int m, double V[]);
  16. void Rikiuoti (int n, int m, double V[]);
  17. void Raso (int n, int m, double Vm[], double Vk[]);
  18.  
  19. int main()
  20. {
  21.     int n, m;
  22.     double Vm[Cm], Vk[Ck];
  23.     Skaito (n, m);
  24.     Vidurkis_m (n, m, Vm);
  25.     Vidurkis_k (n, m, Vk);
  26.     Rikiuoti (n, m, Vm);
  27.     Raso (n, m, Vm, Vk);
  28.     return 0;
  29. }
  30. //skaito duomenis is failo
  31. void Skaito (int & n, int & m)
  32. {
  33.     ifstream fd (Cdfv);
  34.     fd >> n >> m;
  35.     for (int i = 0; i < n; i++)
  36.         for (int j = 0; j < m; j++)
  37.             fd >> P[i][j];
  38.     fd.close ();
  39. }
  40. //randa vidurki mokiniu
  41. void Vidurkis_m (int n, int m, double V[])
  42. {
  43.     int sum;
  44.     for (int i = 0; i < n; i++)
  45.     {
  46.         sum = 0;
  47.         for (int j = 0; j < m; j++)
  48.             sum += P[i][j];
  49.         V[i] = (double) sum / m;
  50.     }
  51. }
  52. //randa vidurki kontroliniu
  53. void Vidurkis_k (int n, int m, double V[])
  54. {
  55.     int sum;
  56.     for (int j = 0; j < m; j++)
  57.     {
  58.         sum = 0;
  59.         for (int i = 0; i < n; i++)
  60.             sum += P[i][j];
  61.         V[j] = (double) sum / n;
  62.     }
  63. }
  64.  
  65. //rikiuoja
  66. void Rikiuoti (int n, int m, double V[])
  67. {
  68.     double tarp;
  69.     int tarp1;
  70.     int ind;
  71.     for (int i = 0; i < n - 1; i++)
  72.     {
  73.         for (int k = i; k < n; k++)
  74.         {
  75.             if (V[i] < V[k])
  76.             {
  77.                 tarp = V[i];
  78.                 V[i] = V[k];
  79.                 V[k] = tarp;
  80.                 for (int j = 0; j < m; j++)
  81.                 {
  82.                     tarp1 = P[i][j];
  83.                     P[i][j] = P[k][j];
  84.                     P[k][j] = tarp1;
  85.                 }
  86.             }
  87.         }
  88.     }
  89. }
  90.  
  91. //duomenu rasymas i faila
  92. void Raso (int n, int m, double Vm[], double Vk[])
  93. {
  94.     ofstream fr (Crfv);
  95.     fr << " ";
  96.     for (int j = 0; j < m; j++)
  97.     fr << setw(6) << left << j + 1;
  98.     fr << "vid" << endl;
  99.     for (int i = 0; i < n; i++)
  100.     {
  101.         fr << setw(4) << i + 1;
  102.         for (int j = 0; j < m; j++)
  103.             fr << setw(6) << P[i][j];
  104.         fr << setw(6) << fixed << setprecision(2) << Vm[i] << endl;
  105.     }
  106.     fr << "vid ";
  107.     for (int j = 0; j < m; j++)
  108.         fr << setw(6) << fixed << setprecision(2) << Vk[j];
  109.     fr << endl;
  110.     fr.close ();
  111. }
Advertisement
Add Comment
Please, Sign In to add comment