Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.86 KB | None | 0 0
  1. //
  2. //  main.cpp
  3. //  CV05
  4. //
  5. //  Created by Petr Němeček on 21/10/14.
  6. //  Copyright (c) 2014 Petr Němeček. All rights reserved.
  7. //
  8.  
  9. #include <iostream>
  10.  
  11. class Pole { int *pole;
  12.     const unsigned n;
  13.     unsigned pocet;
  14.    
  15. public:
  16.         Pole(unsigned n) :n(n) {
  17.             pole = new int[n];
  18.             pocet = 0; }
  19.    
  20.         ~Pole() { delete[] pole; }
  21.    
  22.         bool pridat(int c) {
  23.            
  24.            
  25.             for (int i = 0; i < pocet; i++) {
  26.                 if (pole[i] == c) {
  27.                     return false;
  28.                 }
  29.             }
  30.            
  31.      
  32.             pole[pocet++] = c;
  33.             return true;
  34.    
  35.            
  36.         }
  37.    
  38.         friend void vypsat(const Pole &);
  39.         friend bool zrusit(Pole &,int c);
  40. };
  41.  
  42. void vypsat( const Pole &p )
  43. {
  44.     for (int i = 0; i < p.pocet; i++) {
  45.         std::cout << p.pole[i] << ", ";
  46.     }
  47.    
  48.     std::cout << std::endl;
  49. }
  50.  
  51. bool zrusit( Pole &p, int c )
  52. {
  53.    
  54.     bool isPresent = false;
  55.    
  56.     int i;
  57.     for (i = 0; i < p.pocet; i++) {
  58.         if (p.pole[i] == c) {
  59.             isPresent = true;
  60.             break;
  61.         }
  62.     }
  63.    
  64.     if (isPresent == true) {
  65.        
  66.        
  67.        
  68.         int tmp;
  69.         for (int j = i; j < p.pocet - 1 ; j++) {
  70.             tmp = p.pole[j];
  71.             p.pole[j] = p.pole[j + 1];
  72.             p.pole[j + 1] = tmp;
  73.         }
  74.        
  75.         p.pocet--;
  76.        
  77.         return true;
  78.        
  79.     } else {
  80.         return false;
  81.     }
  82.    
  83.    
  84.    
  85. }
  86.  
  87. int main(int argc, const char * argv[]) {
  88.    
  89.     Pole p(10);
  90.    
  91.     p.pridat(1);
  92.     p.pridat(3);
  93.     p.pridat(5);
  94.     p.pridat(7);
  95.     p.pridat(5);
  96.     p.pridat(2);
  97.     p.pridat(4);
  98.     p.pridat(6);
  99.    
  100.     vypsat(p);
  101.    
  102.     zrusit(p, 2);
  103.    
  104.     vypsat(p);
  105.    
  106.    
  107.    
  108.     return 0;
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement