Monday, December 1, 2014

#3 Pokazivacke promenjive, osnovni primer

#include <conio.h>
#include <stdio.h>
// osnovni primer sa pokazivacima
main () {
 int x=5; // promenjiva
 int *px; // pokazivacka promenjiva
 
  px=&x; // pokazivacka promenjiva dobija adresu od x
 
  printf("sadrzaj od x=%d,\n adresa od x=%p \n",x,&x);
  printf("sadrzaj px je adresa x-a px=%p,\n vrednost na adresi x je *px=%d \n",px,*px);
 
   getch();
   getch();
   
}

Friday, November 7, 2014

5# Matrice full unos ispis min max dijagonala suma prosek

// Napisati program koji unosi,ispisuje kvadratnu matricu preko funkcija i pokazivaca
#include <stdio.h>
#include <conio.h>
#define mN 3
#define mM 3
int sah_tabla[mN][mM];

 void matrica_unos(int mat[][mM],int n,int m);


  void matrica_ispis(int mat[][mM],int n,int m);
  void matrica_mesto(int mat[][mM],int n, int m,int x,int y);
  //dijagonale
  void matrica_ispis_glavne_dijagonale(int mat[][mM],int n);
  void matrica_ispis_sporedne_dijagonale(int mat[][mM],int n);
  // horizontala vertikala
  void matrica_ispis_horizontalne_sredine(int mat[][mM],int n,int m);
  void matrica_ispis_vertikalne_sredine(int mat[][mM],int n,int m);
  //max min
  int matrica_min_element(int mat[][mM],int n,int m);
  int matrica_max_element(int mat[][mM],int n,int m);
  //sortiranje
  void matrica_sort_up(int mat[][mM],int n,int m);
  void matrica_sort_down(int mat[][mM],int n,int m);

  //statistika
  int matrica_suma(int mat[][mM],int n,int m);
  float  matrica_prosek(int mat[][mM],int n,int m);

 main(){
  printf("Unesi cele brojeve  matrice %dx%d\n",mN,mM);

  matrica_unos(sah_tabla,mN,mM);
  printf("\n Ispis matrice \n");
  matrica_ispis(sah_tabla,mN,mM);

  printf("\n Ispis kordinate 2,2 \n");
  matrica_mesto(sah_tabla,mN,mM,2,2);
   printf("\n glavna diajgonala \n");
  matrica_ispis_glavne_dijagonale(sah_tabla,mN);
   printf("\n sporedna dijagonala \n");
  matrica_ispis_sporedne_dijagonale(sah_tabla,mN);

   printf("\n vertikalna sredina \n");
  matrica_ispis_vertikalne_sredine(sah_tabla,mN,mM);
   printf("\n horizontalna sredina \n");
  matrica_ispis_horizontalne_sredine(sah_tabla,mN,mM);
  printf("\n Minimalni element matrice %d \n",matrica_min_element(sah_tabla,mN,mM));
  printf("\n Maksimalni element matrice %d \n",matrica_max_element(sah_tabla,mN,mM));

  // sortiranje matrice up
   matrica_sort_up(sah_tabla,mN,mM);
   printf("\n Ispis sortirane matrice sort up matrice \n");
  matrica_ispis(sah_tabla,mN,mM);

  // sortiranje matrice down
   matrica_sort_down(sah_tabla,mN,mM);
   printf("\n Ispis sortirane matrice sort down matrice \n");
   matrica_ispis(sah_tabla,mN,mM);
   printf("Suma svih elemenata matrice %d\n",matrica_suma(sah_tabla,mN,mM));
   printf("Prosek svih elemenata matrice %f\n",matrica_prosek(sah_tabla,mN,mM));
 
 getch();  
 }

 void matrica_unos(int mat[][mM],int n,int m){
   for(int i=0; i<n; i++){
      for(int j=0; j<m; j++){
          printf("Niz[%d][%d]=",i,j); scanf("%d", &mat[i][j]);
      }
   }
 }

  void matrica_ispis(int mat[][mM],int n,int m){
   for(int i=0; i<n; i++){
      for(int j=0; j<m; j++){
          printf("mat[%d][%d]=%d\n",i,j,mat[i][j]);
      }
   }
 }

 void matrica_mesto(int mat[][mM],int n, int m,int x,int y){
     if (x>=0 && x<n && y>=0 && y<m){
        printf("[%d][%d]=%d\n",x,y,mat[x][y]);
     }
     else {
           printf ("Izvan domena x=%d ,y=%d",x,y);
          }
   }
 
   void matrica_ispis_glavne_dijagonale(int mat[][mM],int n){
        for(int i=0; i<n; i++){
          printf("mat[%d][%d]=%d\n",i,i,mat[i][i]);
          }
   }
 
   void matrica_ispis_sporedne_dijagonale(int mat[][mM],int n){
    for(int i=0; i<n; i++){
          printf("mat[%d][%d]=%d\n",i,n-1-i,mat[i][n-1-i]);
          }
   }
   void matrica_ispis_horizontalne_sredine(int mat[][mM],int n,int m){
    for(int i=0; i<m; i++){
          printf("mat[%d][%d]=%d\n",(int)(n/2),i,mat[(int)(n/2)][i]);
          }
   }
    void matrica_ispis_vertikalne_sredine(int mat[][mM],int n,int m){
    for(int i=0; i<n; i++){
          printf("mat[%d][%d]=%d\n",i,(int)(m/2),mat[i][(int)(m/2)]);
          }
   }
 
    int matrica_min_element(int mat[][mM],int n,int m){
        int min=mat[0][0];
        for(int i=0; i<n; i++){
         for(int j=0; j<m; j++){
                  if(min>mat[i][j]) min=mat[i][j];
         }
        }
         return min;
    }
 
     int matrica_max_element(int mat[][mM],int n,int m){
        int max=mat[0][0];
        for(int i=0; i<n; i++){
         for(int j=0; j<m; j++){
                  if(max<mat[i][j]) max=mat[i][j];
         }
        }
         return max;
    }
 
    void matrica_sort_up(int mat[][mM],int n,int m){
        //if(min>mat[i][j]) min=mat[i][j];
        for(int i=0; i<n; i++){
         for(int j=0; j<m; j++){
             for(int p=i; p<n; p++){
              for(int q=j; q<m; q++){
                       
                 if ( mat[i][j]>mat[p][q]) {
                      //mat[i][j]=-1;
                      int korpa=mat[i][j];
                     mat[i][j]=mat[p][q];
                      mat[p][q]=korpa;
                      }
              }
              }  
         }
        }
    }
 
    void matrica_sort_down(int mat[][mM],int n,int m){
        //if(min>mat[i][j]) min=mat[i][j];
        for(int i=0; i<n; i++){
         for(int j=0; j<m; j++){
             for(int p=i; p<n; p++){
              for(int q=j; q<m; q++){
                       
                 if ( mat[i][j]<mat[p][q]) {
                      //mat[i][j]=-1;
                      int korpa=mat[i][j];
                     mat[i][j]=mat[p][q];
                      mat[p][q]=korpa;
                      }
              }
              }  
         }
        }
    }
 
     int  matrica_suma(int mat[][mM],int n,int m){
        int suma=0;
        for(int i=0; i<n; i++){
         for(int j=0; j<m; j++){
                 suma+=mat[i][j];
         }
        }
         return suma;
     }
   
   float matrica_prosek(int mat[][mM],int n,int m){
         return ((float)matrica_suma(mat,n,m))/(n*m);
   }

Wednesday, November 5, 2014

#2 Niz ocena ucitavanje sa WHILE

#include <stdio.h>
#include <conio.h>
main () {
 int ocena[5];
 // program za unos i ispis niza uz pomoc WHILE petlje
   printf("Unesite ocene u niz \n");
   int i=0;
   while(i<5){
      printf("ocena[%d]=",i); scanf("%d",&ocena[i]);
      i++;
     }
   printf("ispis niza ocena\n");
 
   int j=0;
   while(j<5){
      printf("ocena[%d]=%d \n",j,ocena[j]);
      j++;
     }

     getch();
}

#2 Niz ocena ucitavanje i ispis na ekran

#include <stdio.h>
#include <conio.h>
main () {
 int ocena[5];
 // program za unos i ispis niza uz pomoc for petlje
   printf("Unesite ocene u niz \n");
     for(int i=0;i<5;i++){
      printf("ocena[%d]=",i); scanf("%d",&ocena[i]);
     }
   printf("ispis niza ocena\n");
     for(int j=0;j<5;j++){
      printf("ocena[%d]=%d \n",j,ocena[j]);
     }

     getch();
}

Tuesday, June 3, 2014

#5 turtle Include kornjaca

#ifndef C_TURTLE_H
#define C_TURTLR_H
#include <graphics.h>
#include "c_shape.h"

class c_turtle:public c_shape{
public:
c_turtle(int _x, int _y, int _r, int _color);
void drawMe(int x, int y);
void eraseMe(int x, int y, int backColor);
};
c_turtle::c_turtle(int _x, int _y, int _r, int _color){

x=_x;
y=_y;
radius=_r;
color=_color;
drawMe(x,y);
}
void c_turtle::drawMe(int x, int y){
setcolor(this->getColor());
     circle(x,y,this->getRadius());  

}
void c_turtle::eraseMe(int x, int y, int backColor){
setcolor(backColor);
    circle(x,y,this->getRadius());
}
#endif

#5 square.h include pravougaonik

#ifndef C_SQUARE_H
#define C_SQUARE_H
#include <graphics.h>
#include "c_shape.h"

class c_square:public c_shape{
public:
c_square(int _x, int _y, int _r, int _color);
void drawMe(int x, int y);
void eraseMe(int x, int y, int backColor);
};
c_square::c_square(int _x, int _y, int _r, int _color){

x=_x;
y=_y;
radius=_r;
color=_color;
drawMe(x,y);
}
void c_square::drawMe(int x, int y){
setcolor(this->getColor());
rectangle(x-this->getRadius(),y-this->getRadius(),x+getRadius(),y+getRadius());
     //circle(x,y,this->getRadius());  

}
void c_square::eraseMe(int x, int y, int backColor){
setcolor(backColor);
rectangle(x-this->getRadius(),y-this->getRadius(),x+getRadius(),y+getRadius());
    //circle(x,y,this->getRadius());
}
#endif

#8 shape.h

#ifndef C_SHAPE_H
#define C_SHAPE_H
#include <graphics.h>
class c_shape{
protected:
int x;
int y;
int color;
int radius;
public:
   //c_shape(int _x, int _y, int _r, int _color);
   c_shape();
~c_shape();
virtual void drawMe(int x, int y)=0;
virtual void eraseMe(int x, int y, int backColor)=0;
void moveMe(int x, int y, int backColor);
                        //get
                        const int & getX() const;
                        const int & getY() const;
                        const int & getColor() const;
                        const int & getRadius()const;
                        // set
                        void setColor(const int & _color);
                        void setRadius(const int & _radius);
};
c_shape::c_shape(){
//constructor;
}
c_shape:: ~c_shape(){

}
/*
c_shape::c_shape(int _x, int _y, int _r, int _color){

x=_x;
y=_y;
radius=_r;
color=_color;

}*/
void c_shape::moveMe(int x, int y, int backColor){
this->eraseMe(this->x,this->y, backColor);
this->drawMe(x,y);
this->x=x;
this->y=y;
}
const int & c_shape::getX() const{
    return x;
}
const int & c_shape::getY() const{
    return y;
}
const int & c_shape::getColor() const{
    return color;
}
const int & c_shape::getRadius() const{
    return radius;
}

void c_shape::setColor(const int& _color){
    color=_color;
}
void c_shape::setRadius(const int& _radius){
    radius=_radius;
}
#endif

#8 game.h Include Igra

#ifndef C_GAME_H
#define C_GAME_H
#include <graphics.h>
#include "c_shape.h"
#include "c_turtle.h"
#include "c_square.h"
class c_game{

private:

public:

c_game();
~ c_game();
void play(int _maxX,int _maxY);
void move (char direction, int step,int _maxX,int _maxY, int backColor, c_shape* shape);
};

c_game::c_game(){
    // constructor
}
c_game::~c_game(){
    //destructor
}
void c_game::play(int _maxX,int _maxY){

     c_shape *shape=new c_square(_maxX/2,_maxY/2,20,GREEN);
     char c=' ';
while(c!='q'){
  if(kbhit( )){
      c=getch();
      this->move((int) c,10,_maxX,_maxY,BLACK,shape);          
  }
}  
}
void c_game::move(char direction, int step,int _maxX,int _maxY, int backColor, c_shape* shape){
  switch(direction){
    case KEY_LEFT:
       if (shape->getX()-shape->getRadius()-step>0) {
        shape->moveMe(shape->getX()-step,shape->getY(),backColor);            
       }
    break;
    case KEY_RIGHT:
       if (shape->getX()+shape->getRadius()+step<maxX) {
        shape->moveMe(shape->getX()+step,shape->getY(),backColor);  
       }
    break;
    case KEY_UP:
       if (shape->getY()-shape->getRadius()-step>0) {
       shape->moveMe(shape->getX(),shape->getY()-step,backColor);
       }
    break;
    case KEY_DOWN:
       if (shape->getY()+shape->getRadius()+step<maxY) {
        shape->moveMe(shape->getX(),shape->getY()+step,backColor);
       }
    break;                                  
 }  

}

#endif

#8 Abstraktna klasa nasledjivanje Igrica

#define maxX 800
#define maxY 800
#include <conio.h>
#include <stdio.h>
#include "c_game.h"
main(){
  initwindow(maxX,maxY); //open a 400x300 graphics window
        c_game *game= new c_game();
        game->play(maxX,maxY);
      while(!kbhit());     //wait for user to press a key
      closegraph();        //close graphics window
       
}

Wednesday, May 28, 2014

#6 Osoba.h Include Nasledjivanje

// STS Sombor II4 Bogdanovic D. 2014g
#ifndef OSOBA_H
#define OSOBA_H

// osnovna klasa koja se kasnije nasledjuje
using namespace std;

class c_osoba{
      private:
          string ime;
          string prezime;
          int godiste;
      public:
          c_osoba();
          string getIme();
          string getPrezime();
          int getGodiste();
          void setIme(string _ime);
          void setPrezime(string _prezime);
          void setGodiste(int _godiste);
};

c_osoba::c_osoba(){
   //ne radi nista                  
}
string c_osoba::getIme(){
   return this->ime;      
}
string c_osoba::getPrezime(){
   return this->prezime;      
}
int c_osoba::getGodiste(){
   return this->godiste;  
}
void c_osoba::setIme(string _ime){
   this->ime = _ime;    
}
void c_osoba::setPrezime(string _prezime){
   this->prezime = _prezime;    
}
void c_osoba::setGodiste(int _godiste){
   this->godiste = _godiste;    
}

#endif

#6 Devojcica.h Include Nasledjivanje

// STS Sombor II4 Bogdanovic D. 2014g
#ifndef DEVOJCICA_H
#define DEVOJCICA_H

// klasa devojcica nasledjuje osobu
using namespace std;

class c_devojcica:public c_osoba{
   private:
       string boja_kose;
       string boja_noktiju;
       string omiljena_pevacica;
   public:
       c_devojcica();
       void setBoja_kose(string _boja_kose);
       string getBoja_kose();
       void setBoja_noktiju(string _boja_noktiju);
       string getBoja_noktiju();
       void setOmiljena_pevacica(string _omiljena_pevacica);
       string getOmiljena_pevacica();  
};

c_devojcica::c_devojcica(){
   c_osoba();
}
void c_devojcica::setBoja_kose(string _boja_kose){
   this->boja_kose = _boja_kose;
}
string c_devojcica::getBoja_kose(){
   return this->boja_kose;      
}
void c_devojcica::setBoja_noktiju(string _boja_noktiju){
   this->boja_noktiju = _boja_noktiju;    
}
string c_devojcica::getBoja_noktiju(){
   return this->boja_noktiju;  
}
void c_devojcica::setOmiljena_pevacica(string _omiljena_pevacica){
   this->omiljena_pevacica = _omiljena_pevacica;
}
string c_devojcica::getOmiljena_pevacica(){
   return this->omiljena_pevacica;  
}



#endif

#6 Decak.h Include Nasledjivanje

// STS Sombor II4 Bogdanovic D. 2014g
#ifndef DECAK_H
#define DECAK_H

// klasa decak nasledjuje osobu
using namespace std;

class c_decak:public c_osoba{
   private:
        string boja_pantalona;
        string boja_jakne;
        string navijam_za;
   public:
        c_decak();
        void setBoja_pantalona(string _boja_pantalona);
        string getBoja_pantalona();
        void setBoja_jakne(string _boja_jakne);
        string getBoja_jakne();
        void setNavijam_za(string _navijam_za);
        string getNavijam_za();  
};

c_decak::c_decak(){
   c_osoba();                
}
void c_decak::setBoja_pantalona(string _boja_pantalona){
   this->boja_pantalona = _boja_pantalona;  
}
string c_decak::getBoja_pantalona(){
   return this->boja_pantalona;    
}
void c_decak::setBoja_jakne(string _boja_jakne){
   this->boja_jakne = _boja_jakne;  
}
string c_decak::getBoja_jakne(){
   return this->boja_jakne;  
}
void c_decak::setNavijam_za(string _navijam_za){
   this->navijam_za = _navijam_za;
}
string c_decak::getNavijam_za(){
   return this->navijam_za;  
}



#endif

#6 Nasledjivanje osoba=>decak,devojcica na sekciji, vise fajlova

// STS Sombor II4 Bogdanovic D. 2014g
#include <iostream>
#include "Osoba.h"
#include "Decak.h"
#include "Devojcica.h"

#include <iostream>
using namespace std;



int main(){
   
   
    //primer osobe
    c_osoba *osoba = new c_osoba();
   
    //stavljam u objekat ime i prezime
    osoba->setIme("Petar");
    osoba->setPrezime("Petrovic");
    osoba->setGodiste(84);
    //ispis iz objekata osoba
    cout << "Ispis osobe" << endl;
    cout << "osoba.ime = " << osoba->getIme() << endl;
    cout << "osoba.prezime = " << osoba->getPrezime() << endl;
    cout << "osoba.godiste = " << osoba->getGodiste() << endl;
    cout << endl;
   
    c_decak *decak = new c_decak();
   
    decak->setIme("Marko");
    decak->setPrezime("Markovic");
    decak->setGodiste(98);
    decak->setBoja_pantalona("Plava");
    decak->setBoja_jakne("Zuta");
    decak->setNavijam_za("Dortmund");
    //ispis iz objekata decak
    cout << "Ispis decaka"<<endl;
    cout << "decak.ime = " << decak->getIme() << endl;
    cout << "decak.prezime = " << decak->getPrezime() << endl;
    cout << "decak.godiste = " << decak->getGodiste() << endl;
    cout << "decak.boja_pantalona = " << decak->getBoja_pantalona() << endl;
    cout << "decak.boja_jakne = " << decak->getBoja_jakne() << endl;
    cout << "decak.navijam_za = " << decak->getNavijam_za() << endl;
    cout << endl;
   
    c_devojcica *devojcica = new c_devojcica();
   
    devojcica->setIme("Ana");
    devojcica->setPrezime("Milic");
    devojcica->setGodiste(97);
    devojcica->setBoja_kose("Plava");
    devojcica->setBoja_noktiju("Ljubicasta");
    devojcica->setOmiljena_pevacica("Ceca");
    //ispis iz objekata devojcica
    cout << "Ispis devojcice"<<endl;
    cout << "devojcica.ime = " << devojcica->getIme() << endl;
    cout << "devojcica.prezime = " << devojcica->getPrezime() << endl;
    cout << "devojcica.godiste = " << devojcica->getGodiste() << endl;
    cout << "devojcica.boja_kose = " << devojcica->getBoja_kose() << endl;
    cout << "devojcica.boja_noktiju = " << devojcica->getBoja_noktiju() << endl;
    cout << "devojcica.omiljena_pevacica = " << devojcica->getOmiljena_pevacica() << endl;
    cout << endl;
   
    cin.ignore();
    return 1;  
}

Tuesday, May 27, 2014

#6 Objektni Nasledjivanje od osobe osoba >>decak, osoba >>devojcica

//STS Sombor III1 Djumic D. 2014g
/* Zadatak napisati klasu osoba i naslediti ga u klasi decak i devojcica,
prikazati podatke na ekranu*/
#include <iostream>


using namespace std;
class c_osoba{
 private:
  string ime;
  string prezime;
  int godiste;

 public:
  c_osoba();
  string getIme();
  string getPrezime();
  int getGodiste();
  void setIme(string _ime);
  void setPrezime(string _prezime);
  void setGodiste(int _godiste);

};
 c_osoba::c_osoba(){
 // neradi nista u ovom slucaju
}
string c_osoba::getIme(){
 return this->ime;
}
string c_osoba::getPrezime(){
 return this->prezime;
}
int c_osoba::getGodiste(){
 return this->godiste;
}
void c_osoba::setIme(string _ime){
 this->ime=_ime;
}
void c_osoba::setPrezime(string _prezime){
 this->prezime=_prezime;
}
void c_osoba::setGodiste(int _godiste){
 this->godiste=_godiste;
     }
// nasledjivanje
// profesor je prosirena osoba
//tj klasa profesor nasledjuje atribute i metode osobe
class c_decak:public c_osoba{
 private:
 string boja_pantalona;
 string boja_jakne;
 string navijam_za;
 public:
 c_decak();
 void setBoja_pantalona(string _boja_pantalona);
 string getBoja_pantalona();
 void setBoja_jakne(string _boja_jakne);
 string getBoja_jakne();
 void setNavijam_za(string _navijam_za);
 string getNavijam_za();

};
c_decak::c_decak(){
 //nema nist u konstruktoru
 // poziva konstruktor od svoga roditelja
 c_osoba();
}
string c_decak::getBoja_pantalona(){
 return this->boja_pantalona;
}
void c_decak::setBoja_pantalona(string _boja_pantalona){
 this->boja_pantalona=_boja_pantalona;
}
string c_decak::getBoja_jakne(){
 return this->boja_jakne;
}
void c_decak::setBoja_jakne(string _boja_jakne){
 this->boja_jakne=_boja_jakne;
}
string c_decak::getNavijam_za(){
 return this->navijam_za;
}
void c_decak::setNavijam_za(string _navijam_za){
 this->navijam_za=_navijam_za;
}
main (){

 // primer osobe
  c_osoba *osoba=new c_osoba();


  //stavlajm u objekat ime i prezime
  osoba->setIme("petar");
  osoba->setPrezime("petrovic");
  osoba->setGodiste(18);
  //ispis iz objekta osoba na ekran
  cout << "*** Ispis osobe ***"<<endl;
  cout <<"osoba.ime="<<osoba->getIme()<<endl;
  cout << "osoba.prezime="<<osoba->getPrezime()<<endl;
  cout <<"osoba.godiste="<<osoba->getGodiste()<<endl;
  cout <<endl;
   // primer decaka
   c_decak *decak=new c_decak();


   // stavljam u objeat decak ime,prezime ... (ime,prezime nasledjeno)
   decak->setIme("Marko");
   decak->setPrezime("Markovic");
   decak->setGodiste(18);
   decak->setBoja_pantalona("crna");
   decak->setBoja_jakne("bela");
   decak->setNavijam_za("Partizan");

  //ispis iz objekta decak na ekran (ispisi imena i prezimena nasledjeni)
  cout<<"*** Ispis decaka ***"<<endl;
  cout<<"decak.ime="<<decak->getIme()<<endl;
  cout<<"decak.prezime="<<decak->getPrezime()<<endl;
  cout<<"decak.godiste="<<decak->getGodiste()<<endl;
  cout<<"decak.boja_pantalona="<<decak->getBoja_pantalona()<<endl;
  cout<<"decak.boja_jakne="<<decak->getBoja_jakne()<<endl;
  cout<<"decak.navijam_za="<<decak->getNavijam_za()<<endl;
  delete osoba;
  delete decak;
   cin.ignore();
 
  return 1;
}

Wednesday, May 21, 2014

#5 Objektni nasledjivanje profesor klasa nasledjuje osoba klasu

#include <iostream>
using namespace std;
class c_osoba{
private:
string ime;
string prezime;

public:
c_osoba();
string getIme();
string getPrezime();
void setIme(string _ime);
void setPrezime(string _prezime);

};
 c_osoba::c_osoba(){
// neradi nista u ovom slucaju
}
string c_osoba::getIme(){
return this->ime;
}
string c_osoba::getPrezime(){
return this->prezime;
}
void c_osoba::setIme(string _ime){
this->ime=_ime;
}
void c_osoba::setPrezime(string _prezime){
this->prezime=_prezime;
}
// nasledjivanje
// profesor je prosirena osoba
//tj klasa profesor nasledjuje atribute i metode osobe
class c_profesor:public c_osoba{
private:
string predaje;
public:
c_profesor();
void setPredaje(string _predaje);
string getPredaje();

};
c_profesor::c_profesor(){
//nema nist u konstruktoru
// poziva konstruktor od svoga roditelja
c_osoba();
}
string c_profesor::getPredaje(){
return this->predaje;
}
void c_profesor::setPredaje(string _predaje){
this->predaje=_predaje;
}
int main (){

// primer osobe
  c_osoba *osoba=new c_osoba();

 
  //stavlajm u objekat ime i prezime
  osoba->setIme("petar");
  osoba->setPrezime("petrovic");
  //ispis iz objekta osoba na ekran
  cout << "*** Ispis osobe ***"<<endl;
  cout <<"osoba.ime="<<osoba->getIme()<<endl;
  cout << "osoba.prezime="<<osoba->getPrezime()<<endl<<endl;
 
   // primer profesora
   c_profesor *profesor=new c_profesor();
 
 
   // stavljam u objeat pprofesor ime,prezime i predaje (ime,prezime nasledjeno)
   profesor->setIme("profa");
   profesor->setPrezime("profic");
   profesor->setPredaje("matematika");
 
  //ispis iz objekta profesor na ekran (ispisi imena i prezimena nasledjeni)
  cout<<"*** Ispis profesora ***"<<endl;
  cout<<"profesor.ime="<<profesor->getIme()<<endl;
  cout<<"profesor.prezime="<<profesor->getPrezime()<<endl;
  cout<<"profesor.predaje="<<profesor->getPredaje()<<endl;
 
  delete osoba;
  delete profesor;
  //ako je potrebno da ceka ako nije komentarisi //cin.ignore();
  cin.ignore();
  return 1;
 
}

Wednesday, March 5, 2014

#4 Rastojanje izmedju 2 tacke u 3d prostoru - strukture

#include <conio.h>
#include <stdio.h>
#include <math.h>
   // made by Dejan Bogdanovic :)
    //struktura
struct s_point{
int x;
int y;
int z;
};

struct s_point point_A;
struct s_point point_B;
//deklarisanje funkcija
struct s_point s_point_unos();
void s_point_ispis(struct s_point point);
float rastojanje_tacaka(struct s_point point1,struct s_point point2);
float rastojanje_pocetak(struct s_point point);

int main(){
     
    float rastojanje;
    float rast_pocetak_A;
    float rast_pocetak_B;
     
printf("Molimo vas da unesete koordinate tacke A.\n");
point_A = s_point_unos();
printf("Molimo vas da unesete koordinate tacke B.\n");
point_B = s_point_unos();

rastojanje = rastojanje_tacaka(point_A, point_B);
rast_pocetak_A = rastojanje_pocetak(point_A);
rast_pocetak_B = rastojanje_pocetak(point_B);

//ispis rastojanja
printf("Rastojanje izmedju tacaka je: %1.2f.\n", rastojanje);
printf("Rastojanje tacke A od koordinatnog pocetka je: %1.2f.\n", rast_pocetak_A);
printf("Rastojanje tacke B od koordinatnog pocetka je: %1.2f.\n", rast_pocetak_B);

getch();
return 1;
}
//funkcija za racunanje rastojanja izmedju tacaka
float rastojanje_tacaka(struct s_point point1,struct s_point point2){
float rastojanje;
int xd;
int yd;
int zd;

xd = point1.x - point2.x;
yd = point1.y - point2.y;
zd = point1.z - point2.z;

rastojanje = sqrt(xd*xd + yd*yd + zd*zd);

return rastojanje;
}
//funkcija za racunanje rastojanja tacke od koordinatnog pocetka
float rastojanje_pocetak(struct s_point point){
float rastojanje;

rastojanje = sqrt(point.x*point.x + point.y*point.y + point.z*point.z);

return rastojanje;
}
//funkcija za ispis
void s_point_ispis(struct s_point point){
printf("point.x = %d", point.x);
printf("point.y = %d", point.y);
printf("point.z = %d", point.z);
}
//funkcija za unos
struct s_point s_point_unos(){
struct s_point point;
printf("point.x = ");scanf("%d", &point.x);
printf("point.y = ");scanf("%d", &point.y);
printf("point.z = ");scanf("%d", &point.z);

return point;
}

Thursday, February 13, 2014

#5 Slozena struktura ucenik sa nizom od 3 predmeta kao pod strukture

#include<stdio.h>
#include<conio.h>
#include<string.h>

// struktura datum i funkcije upisa i ispisa
struct s_datum{
int dan;
int mesec;
int godina;
};
struct s_datum s_datum_upis(){
   struct s_datum datum;
   printf("    datum.dan=");scanf("%d",&datum.dan);
   printf("    datum.mesec=");scanf("%d",&datum.mesec);
   printf("    datum.godina=");scanf("%d",&datum.godina);
   return datum;
}

void s_datum_ispis(struct s_datum datum){
   printf("    datum.dan=%d\n",datum.dan);
   printf("    datum.mesec=%d\n",datum.mesec);
   printf("    datum.godina=%d\n",datum.godina);
}
struct s_predmet{
char ime[20];
int ocena;
};


struct s_predmet s_predmet_upis(){
   struct s_predmet predmet;
   printf("    predmet.ime=");scanf("%s",&predmet.ime);
   printf("    predmet.ocena=");scanf("%d",&predmet.ocena);
   return predmet;
}

void s_predmet_ispis(struct s_predmet predmet){
  printf("    predmet.ime=%s\n",predmet.ime);
  printf("    predmet.ocena=%d\n",predmet.ocena);
}

// struktura ucenik i funkcije upisa i ispisa
struct s_ucenik{
char prezime[20];
char ime[20];
struct s_datum datum;
struct s_predmet predmet[3];

};

struct s_ucenik s_ucenik_upis(){
struct s_ucenik ucenik;
printf("ucenik.prezime:");scanf("%s",&ucenik.prezime);
printf("ucenik.ime:");scanf("%s",&ucenik.ime);
printf("\n");
ucenik.datum=s_datum_upis();
for (int i=0;i<3;i++){
ucenik.predmet[i]=s_predmet_upis();
printf("\n");
}
return ucenik;
}
void s_ucenik_ispis(struct s_ucenik ucenik){
printf("ucenik.prezime:%s\n",ucenik.prezime);
  printf("ucenik.ime:%s\n",ucenik.ime);
  printf("\n");
s_datum_ispis(ucenik.datum);
printf("\n");
for (int i=0;i<3;i++){
s_predmet_ispis(ucenik.predmet[i]);
printf("\n");
}
}
main (){
 struct s_ucenik ucenik;

 printf("Unesite podatke za ucenika \n");
 ucenik=s_ucenik_upis();

 printf("Ispis podataka od ucenika \n");
 s_ucenik_ispis(ucenik);




 getch();
}

#4 Struktura uceni slozena sa pripadajucim funkcijama upisa i ispisa za svaku pod strukturu

#include<stdio.h>
#include<conio.h>
#include<string.h>

// struktura datum i funkcije upisa i ispisa
struct s_datum{
int dan;
int mesec;
int godina;
};
struct s_datum s_datum_upis(){
   struct s_datum datum;
   printf("datum.dan=");scanf("%d",&datum.dan);
   printf("datum.mesec=");scanf("%d",&datum.mesec);
   printf("datum.godina=");scanf("%d",&datum.godina);
   return datum;
}

void s_datum_ispis(struct s_datum datum){
   printf("datum.dan=%d\n",datum.dan);
   printf("datum.mesec=%d\n",datum.mesec);
   printf("datum.godina=%d\n",datum.godina);
}

// struktura ucenik i funkcije upisa i ispisa
struct s_ucenik{
char prezime[20];
char ime[20];
struct s_datum datum;
};

struct s_ucenik s_ucenik_upis(){
struct s_ucenik ucenik;
printf("ucenik.prezime:");scanf("%s",&ucenik.prezime);
printf("ucenik.ime:");scanf("%s",&ucenik.ime);
ucenik.datum=s_datum_upis();
return ucenik;
}
void s_ucenik_ispis(struct s_ucenik ucenik){
printf("ucenik.prezime:%s\n",ucenik.prezime);
  printf("ucenik.ime:%s\n",ucenik.ime);
s_datum_ispis(ucenik.datum);
}
main (){
 struct s_ucenik ucenik;

 printf("Unesite podatke za ucenika \n");
 ucenik=s_ucenik_upis();

 printf("Ispis podataka od ucenika \n");
 s_ucenik_ispis(ucenik);




 getch();
}

Thursday, February 6, 2014

#5 Brojac reci, navodnika, zareza... u recenici

#include<stdio.h>
#include<conio.h>
#include<string.h>
char recenica[100];
 char rec[100];
 int br_rec=0;

 int br_slova=0;
 int br_space=0;

 int br_reci=0;

 int br_tacka=0;
 int br_zarez=0;
 int br_usklicnik=0;
 int br_upitnik=0;
 int br_tackaZarez=0;
 int br_dvotacki=0;
 int br_navodnika=0;
 int br_apostrofa=0;

main (){

 printf("program za brojanje znakova u recenici");
 printf("Molim vas unesite neku recenicu i pritisnite taster enter\n");

 gets(recenica);

  char znakPrethodni='#';
 for (int i=0;i<strlen(recenica);i++){
  char znak=recenica[i];
 
  if (znak!=' '){
   printf("%c",znak);
  znakPrethodni=znak;
  }
  else{
  if (znakPrethodni!=' ') printf("\n");
  znakPrethodni=znak;
  }
  // proverava velika slova od 65 do 90 i mala od 97 do 122
  if((int(znak)>=65 && int(znak)<=90) || (int(znak)>=97 && int(znak)<=122)) {
  br_slova++;
br_rec++;
  }
  else {
  if(br_rec>=2) {
  br_reci++;
  br_rec=0;
  }
  else {
  br_rec=0;
  }
  }
 
  if(znak==' ') br_space++;
  //if(znak=='%') br_reci++;
  if(znak=='.') br_tacka++;
  if(znak==',') br_zarez++;
  if(znak=='!') br_usklicnik++;
  if(znak=='?') br_upitnik++;
  if(znak==';') br_tackaZarez++;
  if(znak==':') br_dvotacki;
  if(znak=='"') br_navodnika++;
  if(znak=='\'') br_apostrofa++;
 
 }
 //if (br_rec>=2) br_reci++;// kada zavrsi citanje cele recenice proverava da li je zaostala rec
 printf("\n");
 printf("broj reci: %d\n",br_reci);
 printf("broj slova: %d\n",br_slova);
 printf("broj praznih mesta: %d\n",br_space);
 printf("broj . %d\n",br_tacka);
 printf("broj , %d\n",br_zarez);
 printf("broj ! %d\n",br_usklicnik);
 printf("broj ? %d\n",br_upitnik);
 printf("broj ; %d\n",br_tackaZarez);
 printf("broj : %d\n",br_dvotacki);
 printf("broj \" %d\n",br_navodnika);
 printf("broj \' %d",br_apostrofa);


 getch();
}