Advertisement
Guest User

Untitled

a guest
Mar 27th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.45 KB | None | 0 0
  1. // vashiot kod ovde
  2. #include <iostream>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6.  
  7. class Statija{
  8.    
  9.     public:
  10.     char naslov[100];
  11.     char avtor[50];
  12.     char *sodrzina;
  13.     bool objavena;
  14.    
  15.     Statija(){
  16.    
  17.     }
  18.    
  19.     Statija(char *n, char*a , char *s, bool o){
  20.         strcpy(this-> naslov, n);
  21.         strcpy(this-> avtor, a);
  22.         sodrzina= new char[strlen(s)];
  23.         strcpy(this->sodrzina, s);
  24.         objavena= o;
  25.        
  26.     }
  27.    
  28.     ~Statija(){
  29.         //delete []sodrzina;
  30.     }
  31.    
  32.     void pecati(){
  33.         cout << naslov << endl;
  34.         cout << avtor << endl;
  35.         cout << sodrzina << endl;
  36.     }
  37. };
  38.  
  39. class Vesnik{
  40.     public:
  41.     char ime_vesnik[100];
  42.     Statija *statii;
  43.     int br_na_stati;
  44.     Statija prva_statija;
  45.    
  46.     Vesnik(){
  47.    
  48.     }
  49.    
  50.     Vesnik(char *ime, Statija prva){
  51.         strcpy(this-> ime_vesnik, ime);
  52.         prva_statija= prva;
  53.         br_na_stati=0;
  54.         statii= new Statija[100];
  55.     }
  56.    
  57.     ~Vesnik(){
  58.      //delete []statii;
  59.     }
  60.    
  61.     void dodadiStatija(Statija S){
  62.         statii[br_na_stati] = S;
  63.         br_na_stati++;
  64.     }
  65.    
  66.     void pecatiNajdolga(){
  67.         Statija dosega_najdolga= statii[0];
  68.         int i;
  69.         for(i=0;i<br_na_stati;i++){
  70.             if(strlen(statii[i].sodrzina) > strlen(dosega_najdolga.sodrzina)){
  71.                 dosega_najdolga= statii[i];
  72.             }
  73.         }
  74.        dosega_najdolga.pecati();
  75.     }
  76.    
  77.     void pecatiPrva(){
  78.         prva_statija.pecati();
  79.     }
  80.    
  81.     int vkupnoOdAvtor(const char *avtor){
  82.         int i,broj=0;
  83.         for(i=0;i<br_na_stati;i++){
  84.             if(strcmp(avtor, statii[i].avtor) ==0){
  85.                 broj++;
  86.             }
  87.            
  88.         }
  89.         return broj;
  90.     }
  91.  
  92. };
  93.  
  94. int main() {
  95.     char naslov[100], avtor[50], sodrzina[100];
  96.     int n;
  97.     cin >> n;
  98.     char ime[100];
  99.     cin.getline(ime, 100);
  100.     cin.getline(ime, 100);
  101.  
  102.     Statija prva("VAZNO","OOP","Vezba:OOP",true);
  103.     Vesnik v(ime,prva);
  104.     Statija **s = new Statija*[n];
  105.     for(int i = 0; i < n; ++i) {
  106.         cin.getline(naslov, 100);
  107.         cin.getline(avtor, 50);
  108.         cin.getline(sodrzina, 100);
  109.         v.dodadiStatija(Statija(naslov, avtor, sodrzina, true)); //se koristi copy konstruktor
  110.     }
  111.     v.pecatiPrva();
  112.     v.pecatiNajdolga();
  113.     cout << v.vkupnoOdAvtor(avtor) << endl;
  114.     for(int i = 0; i < n; ++i) {
  115.         delete s[i];
  116.     }
  117.     delete [] s;
  118.     return 0;
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement