Advertisement
Guest User

Untitled

a guest
Nov 27th, 2015
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.99 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. void teljhossz(int& szakaszEleje, int& szakaszVege, int& teljesHossz, int adatok[]){
  4.         for (int i = 0; i <= N; i++) {
  5.  
  6.             if (adatok[i] > 800 && adatok[i] <= 900) {
  7.  
  8.                 if (szakaszEleje == -1) //ha nincs szakasz eleje, ez az.
  9.                     szakaszEleje = i;
  10.  
  11.                 if (szakaszEleje != -1)
  12.                     szakaszVege = i;    //ha már van szakasz eleje, akkor
  13.                                         //a szakasz vége i lesz
  14.  
  15.             }
  16.  
  17.             else if (adatok[i] > 900){
  18.                 szakaszEleje = -1;
  19.                 szakaszVege = -1;
  20.             }
  21.             else {
  22.                 if (szakaszEleje != -1 && szakaszVege != -1) {
  23.                     if (szakaszEleje != szakaszVege) {
  24.                         cout << szakaszEleje + 1;
  25.                         cout << " ";
  26.                         cout << szakaszVege + 1;
  27.                         cout << " ";
  28.  
  29.                         teljesHossz = teljesHossz + (szakaszVege - szakaszEleje) + 1;
  30.                     }
  31.                     else if(adatok[i] > 900){
  32.                 //semmi - ciklus megy a következőre
  33.                     }
  34.                 }
  35.  
  36.                 szakaszEleje = -1;
  37.                 szakaszVege = -1;
  38.             }
  39.         }
  40. }
  41.  
  42.  
  43. int main() {
  44.  
  45.         const int MAX_DARAB = 10000;
  46.         int N;
  47.  
  48.         //cerr << "Kerem adja meg a meresi pontok szamat!\n";
  49.         do{
  50.         cin >> N;
  51.         }while(N<1 || N>10000);
  52.  
  53.         int adatok[MAX_DARAB];
  54.  
  55.         for (int i = 0; i <= N; i++) {
  56.             if (i != N)
  57.                 do{
  58.                     //cerr << i+1 << ". adat:";
  59.                     cin >> adatok[i];
  60.                 }while(adatok[i]<0 || adatok[i]>3000);
  61.             else
  62.                 adatok[i] = -1; // Lezárás
  63.         }
  64.  
  65.         int elsoFokuRiasztas = 0;
  66.  
  67.         int szakaszEleje = -1;
  68.         int szakaszVege = -1;
  69.         for (int i = 0; i <= N; i++) {
  70.  
  71.             if (adatok[i] > 800 && adatok[i] <= 900) {
  72.  
  73.                 if (szakaszEleje == -1)
  74.                     szakaszEleje = i;
  75.  
  76.                 if (szakaszEleje != -1)
  77.                     szakaszVege = i;
  78.  
  79.             }
  80.  
  81.             else if (adatok[i] > 900){
  82.                 szakaszEleje = -1;
  83.                 szakaszVege = -1;
  84.             }
  85.             else {
  86.                 if (szakaszEleje != -1 && szakaszVege != -1) {
  87.                     if (szakaszEleje != szakaszVege)
  88.                         elsoFokuRiasztas++;
  89.                 }
  90.  
  91.                 szakaszEleje = -1;
  92.                 szakaszVege = -1;
  93.             }
  94.         }
  95.  
  96.         cout << elsoFokuRiasztas << std::endl;
  97.  
  98.         int teljesHossz = 0;
  99.  
  100.         // Reset
  101.         szakaszEleje = -1;
  102.         szakaszVege = -1;
  103. // IDE KELL
  104.         teljhossz(szakaszEleje, szakaszVege, teljesHossz, adatok[]);
  105.  
  106.  
  107.         if (teljesHossz > 0)
  108.             cout << std::endl << teljesHossz << std::endl;
  109.  
  110.  
  111.         return 0;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement