levimoosky

madarak

Jan 5th, 2015
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.39 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. const int MAXMF = 20;
  7. const int N = 5;
  8.  
  9. void beolvas(int& mf, int m[N][MAXMF]){
  10.     cin >> mf;
  11.     for (int i = 0; i < 5 ; i++){
  12.         for(int j = 0; j < mf ; j++){
  13.            cin >> m[i][j];
  14.         }
  15.     }
  16.  
  17. }
  18.  
  19. void A_feladat(int& mf, int m[N][MAXMF])
  20. {
  21.     int darab[MAXMF];
  22.     int db=0;
  23.     for (int i = 0; i < 5 ; i++){
  24.         for(int j = 0; j < mf ; j++){
  25.            if(m[i][j] != 0)
  26.            {
  27.                db++;
  28.            }
  29.         }
  30.         darab[i] = db;
  31.         db = 0;
  32.     }
  33.     for(int i = 0; i < 5; i++)
  34.     {
  35.         cout << darab[i]<< " ";
  36.     }
  37. }
  38.  
  39. void B_feladat(int mf, int m[N][MAXMF])
  40. {
  41.     const string varosok[N] = {"Zirc", "Szentendrei skanzen", "Sas-hegy",
  42. "Kis-Balaton", "Margit-sziget"};
  43.     int melyik[N];
  44.     int legtobb = 0;
  45.      for (int i = 0; i < 5 ; i++){
  46.         legtobb = 0;
  47.         for(int j = 0; j < mf ; j++){
  48.                 if (m[i][j] > m[i][legtobb])
  49.                 {
  50.                     legtobb = j;
  51.                 }
  52.         melyik[i] = legtobb;
  53.         }
  54.      }
  55.      legtobb = 0;
  56.      for (int i = 0; i < 5 ; i++)
  57.      {
  58.          if (m[i][melyik[i]] > m[legtobb][melyik[legtobb]])
  59.          {
  60.              legtobb = i;
  61.          }
  62.      }
  63.      cout << varosok[legtobb] << " " << melyik[legtobb]+1;
  64. }
  65.  
  66. int C_feladat (int mf, int m[N][MAXMF], int i, int j){
  67.     int s = 0;
  68.     for(int k = 0; k < mf; k++){
  69.         s = s + abs(m[i][k]-m[j][k]);
  70.     }
  71.     return s;
  72. }
  73.  
  74. void D_feladat(int mf, int m[N][MAXMF], int& mini ,int &minj){
  75.     mini = 0;
  76.     minj = 1;
  77.     int minert = C_feladat(mf, m , 0, 1);
  78.     for(int i = 0; i < 4 ; i++){
  79.         for(int j = i+1; j < 5; j++)
  80.         {
  81.             if(C_feladat(mf,m,i,j)<minert)
  82.             {
  83.                 mini = i;
  84.                 minj = j;
  85.                 minert = C_feladat(mf,m,i,j);
  86.             }
  87.         }
  88.     }
  89. }
  90.  
  91.  
  92. int main()
  93. {
  94.     int mf;
  95.     int m[N][MAXMF];
  96.     const string varosok[N] = {"Zirc", "Szentendrei skanzen", "Sas-hegy",
  97. "Kis-Balaton", "Margit-sziget"};
  98.  
  99.     beolvas(mf,m);
  100.  
  101.     //a
  102.     A_feladat(mf,m);
  103.     cout << endl;
  104.     //b
  105.     B_feladat(mf,m);
  106.     cout << endl;
  107.     //c
  108.     cout << C_feladat(mf,m,0,1) << endl;
  109.     //d
  110.     int mini, minj;
  111.     D_feladat(mf, m , mini, minj);
  112.     cout <<varosok[mini] << "," << varosok[minj] << endl;
  113.     return 0;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment