Tuesday, May 26, 2015

#6 cTablet.h

#ifndef CTABLET_H
#define CTABLET_H

#include <iostream>

#include "cProizvod.h"

using namespace std;


class cTablet:public cProizvod{ // OVO JE POTREBNO ZA NASLEDJIVANJE!! class cTablet:public cProizvod
public:
string marka;
int memorija;
string procesor;
cTablet();
~cTablet();
void scanMarka();
void scanMemorija();
void scanProcesor();

string getMarka();
int getMemorija();
string getProcesor();
};
// konstruktor i destruktor
cTablet::cTablet(){
}

cTablet::~cTablet(){
}
//
void cTablet::scanMarka(){
string _marka;
cout << "Unesite marku: ";
cin >> _marka;
this->marka = _marka;
}

void cTablet::scanMemorija(){
int _memorija;
cout << "Unesite mamoriju: ";
cin >> _memorija;
this->memorija = _memorija;
}

void cTablet::scanProcesor(){
string _procesor;
cout << "Unesite procesor: ";
cin >> _procesor;
this->procesor = _procesor;
}

string cTablet::getMarka(){
return this->marka;
}

int cTablet::getMemorija(){
return this->memorija;
}

string cTablet::getProcesor(){
return this->procesor;
}

#endif

#6 cProizvod,h

#ifndef CPROIZVOD_H
#define CPROIZVOD_H

#include <iostream>

using namespace std;

class cProizvod{
private:
float cena;
public:
string vrsta;
string ime;
string naziv;
cProizvod();
~cProizvod();
//FUNKCIJE SE KORISTE ZA NASLEDJIVANJE ATRIBUTA
void setCena(float _cena);
void scanCena();
void scanIme();
void scanVrsta();
void scanNaziv();

float getCena();
string getVrsta();
string getIme();
string getNaziv();
//
};
// Prazni konstruktor i destruktor
cProizvod::cProizvod(){
}

cProizvod::~cProizvod(){
}
//
void cProizvod::setCena(float _cena){
this->cena = _cena;
}

void cProizvod::scanIme(){
string  _ime;
cout << "Unesite ime: ";
cin >> _ime;
this->ime = _ime;
}

void cProizvod::scanCena(){
cout << "Unesite cenu: ";
cin >> this->cena;
setCena(this->cena);
}

void cProizvod::scanNaziv(){
string _naziv;
cout << "Unesite naziv: ";
cin >> _naziv;
this->naziv = _naziv;
}

void cProizvod::scanVrsta(){
   string _vrsta;
   cout << "Unesite vrstu: ";
   cin >> _vrsta;
   this->vrsta = _vrsta;
}

float cProizvod::getCena(){
return this->cena;
}

string cProizvod::getVrsta(){
return this->vrsta;
}

string cProizvod::getIme(){
return this->ime;
}

string cProizvod::getNaziv(){
return this->naziv;
}

#endif

#6 Objektni Proizvod nasledjivanje

#include <iostream>

#include "cProizvod.h"
#include "cTablet.h"

using namespace std;

int main(){
cout << "Klasa cProizvod" << endl << endl;
cProizvod *proizvod = new cProizvod();
//unos
proizvod->scanCena();
proizvod->scanIme();
proizvod->scanVrsta();
proizvod->scanNaziv();
//ispis
cout << "proizvod.cena=" << proizvod->getCena() << endl;
cout << "proizvod.ime=" << proizvod->ime << endl;
cout << "proizvod.vrsta=" << proizvod->vrsta << endl;
cout << "proizvod.naziv=" << proizvod->naziv << endl;

cout << "Klasa cTablet" << endl << endl;
cTablet *tablet = new cTablet();
//unos
//NASLEDJIVANJE ATRIBUTA IZ DRUKE CLASS-e
tablet->scanCena();
tablet->scanIme();
tablet->scanVrsta();
tablet->scanNaziv();
//
tablet->scanMarka();
tablet->scanMemorija();
tablet->scanProcesor();
//ispis
//NASLEDJIVANJE ATRIBUTA IZ DRUKE CLASSE
cout << "tablet.cena=" << tablet->getCena() << endl;
cout << "tablet.ime=" << tablet->ime << endl;
cout << "tablet.vrsta=" << tablet->vrsta << endl;
cout << "tablet.naziv=" << tablet->naziv << endl;
//
cout << "tablet.marka=" << tablet->getMarka() << endl;
cout << "tablet.memorija=" << tablet->getMemorija() << endl;
cout << "tablet.procesor=" << tablet->getProcesor() << endl;

  //Brisanje objekata iz memorije delete proizvod; delete tablet; system("PAUSE"); return EXIT_SUCCESS;
}

#6 cZivotinja.h

#ifndef CZIVOTINJA_H
#define CZIVOTINJA_H

#include <iostream>

using namespace std;

class cZivotinja{
   private:
      int godine;
   public:
      string ime;
      string vrsta;
      string pol;
      cZivotinja();
      ~cZivotinja();
      //FUNKCIJE SE KORISTE ZA NASLEDJIVANJE ATRIBUTA
      void setGodine(int _godine);
      void scanIme();
      void scanPol();
      void scanVrsta();
      void scanGodine();
 
      int getGodine();
      string getIme();
      string getPol();
      string getVrsta();
      //
};
// Prazni konstruktor i destruktor
cZivotinja::cZivotinja(){
}

cZivotinja::~cZivotinja(){
}
//
void cZivotinja::setGodine(int _godine){
   this->godine = _godine;
}
void cZivotinja::scanGodine(){
   cout << "Unesite godine: ";
   cin >> this->godine;
   setGodine(this->godine);
}
void cZivotinja::scanIme(){
   cout << "Unesite ime: ";
   cin >>this->ime;
}
void cZivotinja::scanPol(){
   string _pol;
   cout << "Unesite pol: ";
   cin >> _pol;
   this->pol = _pol;
}
void cZivotinja::scanVrsta(){
   string _vrsta;
   cout << "Unesite vrstu: ";
   cin >> _vrsta;
   this->vrsta = _vrsta;
}

int cZivotinja::getGodine(){
   return this->godine;
}
string cZivotinja::getIme(){
   return this->ime;
}
string cZivotinja::getPol(){
   return this->pol;
}
string cZivotinja::getVrsta(){
   return this->vrsta;
}

#endif

#6 cMajmun.h

#ifndef CMAJMUN_H
#define CMAJMUN_H

#include <iostream>

#include "cZivotinja.h"

using namespace std;

class cMajmun:public cZivotinja{ // OVO JE POTREBNO ZA NASLEDJIVANJE!! class cMajmun:public cZivotinja
   public:
      string hrana;
      string podvrsta;
      string mesto;
      cMajmun();
      ~cMajmun();
      void scanHrana();
      void scanPodvrsta();
      void scanMesto();

      string getHrana();
      string getPodvrsta();
      string getMesto();
};
//konstruktor i destruktor
cMajmun::cMajmun(){
}

cMajmun::~cMajmun(){
}
//
void cMajmun::scanHrana(){
   cout << "Unesite hranu: ";
   cin >> this->hrana;
}
void cMajmun::scanPodvrsta(){
   cout << "Unesite podvrstu: ";
   cin >> this->podvrsta;
}
void cMajmun::scanMesto(){
   cout << "Unesite mesto: ";
   cin >> this->mesto;
}
string cMajmun::getHrana(){
   return this->hrana;
}
string cMajmun::getPodvrsta(){
   return this->podvrsta;
}
string cMajmun::getMesto(){
   return this->mesto;
}

#endif

#6 Objektni Zivotinje nasledjivanje

#include <cstdlib>#include <iostream>
#include "cZivotinja.h"#include "cMajmun.h"
using namespace std;
int main(int argc, char *argv[]){    cout << "KLASA cZivotinja" << endl << endl;    //unos    cZivotinja *zivotinja = new cZivotinja();    zivotinja->scanGodine();    zivotinja->scanIme();    zivotinja->scanPol();    zivotinja->scanVrsta();     //Ispis    cout << "zivotinja.ime=" << zivotinja->ime << endl;    cout << "zivotinja.pol=" << zivotinja->pol << endl;       cout << "zivotinja.vrsta=" << zivotinja->vrsta << endl;       cout << "zivotinja.godine=" << zivotinja->getGodine() << endl;

    cMajmun *majmun = new cMajmun();   //unos    cout << "KLASA cMajmun" << endl << endl;       majmun->scanIme();    majmun->scanPol();    majmun->scanVrsta();     majmun->scanGodine();    //    majmun->scanHrana();    majmun->scanPodvrsta();    majmun->scanMesto();    //Ispis    //NASLEDJIVANJE ATRIBUTA IZ DRUGE CLASSE    cout << "majmun.ime=" << majmun->ime << endl;    cout << "majmun.pol=" << majmun->pol << endl;       cout << "majmun.vrsta=" << majmun->vrsta << endl;       cout << "majmun.godine=" << majmun->getGodine() << endl;    //    cout << "majmun.hrana=" << majmun->getHrana() << endl;    cout << "majmun.podvrsta=" << majmun->getPodvrsta() << endl;       cout << "majmun.mesto=" << majmun->getMesto() << endl;      //Brisanje objekata iz memorije    delete zivotinja;    delete majmun;    system("PAUSE");    return EXIT_SUCCESS;}

Wednesday, May 20, 2015

#3 Osnovni graficki elemnti, tacka, linija, pravougaonik, krug ...

#include<graphics.h>
main()
{
      initwindow(800,600);
      //crtanje tacke
      putpixel(50,50,GREEN);
      //linije
      line(100,50,150,50);
      //crtanje trougla
      line(200,50,225,25);
      line(225,25,250,50);
      line(250,50,200,50);
      //crtanje pravougaonika
      rectangle(300,25,350,50);
      circle(50,100,25);
     
      //kuca
      //zid
      rectangle(150,150,300,250);
      //krov
      line(150,150,175,100);
      line(300,150,275,100);
      line(175,100,275,100);
      //prozor
      rectangle(175,175,200,200);
      line(175,187,200,187);
      line(187,175,187,200);
      rectangle(250,175,275,200);
      line(250,187,275,187);
      line(262,175,262,200);
      //vrata
      line(210,175,240,175);
      line(210,175,210,250);
      line(240,175,240,250);
      //odzak
      line(250,85,260,85);
      line(250,85,250,100);
      line(260,85,260,100);
      while(!kbhit());
      closegraph();
      }

#3 Kreiranje dijagrama bars sa ispunama fill

#include <graphics.h>
main(){
initwindow (800,600);


setfillstyle(SOLID_FILL,RED);
bar(0,200,30,500);
setfillstyle(SOLID_FILL,YELLOW);
bar(30,270,60,500);
setfillstyle(LINE_FILL,CYAN);
bar(60,100,90,500);
setfillstyle(LTSLASH_FILL,BLUE);
bar(90,250,120,500);
setfillstyle(SLASH_FILL,GREEN);
bar(120,280,150,500);
setfillstyle(BKSLASH_FILL,WHITE);
bar(150,100,180,500);
setfillstyle(HATCH_FILL,RED);
bar(180,200,210,500);
setfillstyle(XHATCH_FILL,DARKGRAY);
bar(210,400,240,500);
setfillstyle(SOLID_FILL,GREEN);
bar(240,100,270,500);

while (!kbhit( ));
closegraph( );
}

Wednesday, April 15, 2015

#4 Unos strukture koka u fajl i ispis fajla na ekran

// Napraviti program za unos strukture koka,
// koka.ime, koka.dana7 (jaja za sedam dana)
//  u fajl, i njihov ispis na ekran.
#include<stdio.h>
#include<conio.h>
#include<string.h>

FILE *pKoke;
struct s_koka{
      char ime[20];
      int dana7;    
};
void unos(struct s_koka *koka){
     printf("ime:");scanf("%s",&koka->ime);
     printf("jaja u dana7:");scanf("%d",&koka->dana7);
     //printf("ende unos gotov");
     }
void ispis(struct s_koka *koka){
      //printf("ispis \n");
      printf("ime:%s",koka->ime);
      printf("jaja u dana7:%d",koka->dana7);
      //printf("ende ispis \n");
     }
void upisFajl(FILE* pf,struct s_koka *koka){
     // ispravi
      //printf("unos u fajl \n");
       fprintf(pf,"%s\n",koka->ime);
       fprintf(pf,"%d\n",koka->dana7);
      //printf("ende unos u fajl \n");
     }
void ispisFajl(FILE *pf){
     //printf("ispis fajl");
     char slovo;
     rewind(pf);
      while ((slovo=fgetc(pf))!=EOF){
            putch(slovo);
      }
      puts("\n");
      //printf("ende ispis u fajl");
    }



main(){
  pKoke=fopen("koke.txt","w+");
 
  struct s_koka koka;

 char jabuka='@';

 if (pKoke!=NULL){

 
  do{
     puts("*** koka ***");
     unos(&koka);
       if( strcmp(koka.ime,"exit")!=0){// pisi ako nije koka exit
        upisFajl(pKoke,&koka);
       }  
   }while( strcmp(koka.ime,"exit")!=0);
   
      // ispis
    printf("\n *** *** Koke ispis iz fajla*** ***\n");
     ispisFajl(pKoke);


   }else{
       printf("Nemogu da kreiram ili otvorim koke.txt fajl\n");
   }


 fclose(pKoke);
 
 
 getch();    
}

Wednesday, April 1, 2015

#4 Unos jabuka c, y, z u istoimene fajlove dok se neunese x za kraj, zatim ispis jabuka iz fajlova

#include<stdio.h>
#include<conio.h>
// program za unos jabuka c-crvene, y-zute, z-zelene u istoimene txt fajlove
// jabuke se unose dok se neunese x
// po zavrsetku unosa ispisati unete jabuke iz fajlova na ekran
 FILE *pc,*py,*pz;

void unos(char* jabuka){
     printf("jabuka:");
     scanf(" %c",jabuka);
     }
void ispis(char* jabuka){
     printf("@%c",*jabuka);
     }
void upisFajl(FILE* pf,char jabuka){
       fputc(jabuka,pf);
     }
void ispisFajl(FILE *pf){
     char jabuka;
     rewind(pf);
      while ((jabuka=fgetc(pf))!=EOF){
            putch(jabuka);
      }
      puts("\n");
    }
int ifc(char jabuka){
 return (  (jabuka=='x')||(jabuka=='X'));
}
main(){
     
 pc=fopen("crvene.txt","w+");
 py=fopen("zute.txt","w+");
 pz=fopen("zelene.txt","w+");

 char jabuka='@';

 if (pc!=NULL){
  if (py!=NULL){
   if (pz!=NULL){
         
  do{
   unos(&jabuka);
 
    switch(jabuka){
     case 'c': case 'C':
         upisFajl(pc,jabuka);
     break;
     case 'y': case 'Y':
         upisFajl(py,jabuka);
     break;
     case 'z': case 'Z':
         upisFajl(pz,jabuka);
     break;
     case 'x': case 'X':
         // neradi nista
     break;
     default:
     printf("nije jabuka\n");
     break;      
    }          
   }while( (jabuka=='x' || jabuka=='X')!=1);
   
      // ispis
 puts("crvene::\n");
  ispisFajl(pc);
 puts("zute::\n");
  ispisFajl(py);
 puts("zelene::\n");
  ispisFajl(pz);
 //zatvaranje
 
   }else{
       printf("Nemogu da kreiram ili otvorim zelene.txt fajl\n");
   }        
  }else{
       printf("Nemogu da kreiram ili otvorim zute.txt fajl\n");
  }        
 }else{
       printf("Nemogu da kreiram ili otvorim fajl crvene.txt \n");
 }


 fclose(pc);
 fclose(py);
 fclose(pz);
 getch();    
}

Wednesday, March 18, 2015

#6 Levo spregnuta lista

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

typedef char string10[10];
struct cvor{
        string10 ime_cvora;
        struct cvor *prethodni;
        };
typedef cvor LCVOR;

void lista_ispis(LCVOR *tekuci){
  while (tekuci!=NULL){
    tekuci=tekuci->prethodni;
    printf("%s ",tekuci->ime_cvora);    
   }  
}


main(){

 LCVOR *pocetakListe, *novi;
 char ch[20];
 pocetakListe=NULL;
 printf("\n Unesi sadrzaj liste :\n");

 do{
    scanf("%s",&ch);
    novi = (LCVOR*)malloc(sizeof(LCVOR));
    strcpy(novi->ime_cvora,ch);
    novi->prethodni = pocetakListe;
    pocetakListe=novi;      
       
   }while(strcmp(ch,"kraj")!=0);
 
   printf("Sadrzaj Liste je :\n");
   lista_ispis(pocetakListe);
 
 getch();    
}

Monday, March 16, 2015

#5 Pisanje i citanje 3 strukture iz binarnog fajla

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

// ime fajla

#define fOsoba "osoba.dat"
#define max_niza 3

// pisanje i citanje 3 strukture ili struktura iz fajla

 struct s_osoba{
    char ime[20];
    char prezime[20];
    int godine;      
 };

 void osoba_unos(struct s_osoba *osoba);
 void osoba_ispis(struct s_osoba *osoba);

 void osoba_fUnos(FILE *fp,struct s_osoba *osoba);
 void osoba_fIspis(FILE *fp,struct s_osoba *osoba);

 // rad sa vise osoba
 void osobe_unos(struct s_osoba osobe[], int max);
 void osobe_ispis(struct s_osoba osobe[], int max);
 
 void osoba_fUnosBin(FILE *fp,struct s_osoba *osoba);
 void osoba_fIspisBin(FILE *fp,struct s_osoba *osoba);


 void osobe_fUnosBin(FILE *fp,struct s_osoba osoba[],int max);
 void osobe_fIspisBin(FILE *fp,struct s_osoba osoba[]);

 // jedna osoba
 struct s_osoba osoba;
 // niz osoba
 struct s_osoba osobe[max_niza];
 main(){
        printf("Program za unos i citanje 3 strukture iz binarnog fajla \n");
        FILE *fp=fopen(fOsoba,"wb");
         //unos strukture sa tastature
         osobe_unos(osobe,max_niza);
         // upis u fajl
         osobe_fUnosBin(fp,&osoba,max_niza);
         // citanje iz fajla
         osobe_fIspisBin(fp,&osoba);
          // ispis strukture na ekran
          osobe_ispis(osobe,max_niza);
          //
         
          fclose(fp);
         getch();      
}

void osoba_unos(struct s_osoba *osoba){
        printf("osoba.ime=");scanf("%s",&osoba->ime);
        printf("osoba.prezime=");scanf("%s",&osoba->prezime);
        printf("osoba.godine=");scanf("%d",&osoba->godine);
     }
void osoba_ispis(struct s_osoba *osoba){
        printf("osoba.ime=%s\n",osoba->ime);
        printf("osoba.prezime=%s\n",osoba->prezime);
        printf("osoba.godine=%d\n",osoba->godine);
     }
void osobe_unos(struct s_osoba osobe[],int max){
      printf("\n##################### UNOS #################### \n");
        for (int i=0;i<max;i++){
         printf("****** OSOBA ****** \n");
          struct s_osoba osoba;
          osoba_unos(&osoba);
          osobe[i]=osoba;
        }
     }
void osobe_ispis(struct s_osoba osobe[], int max){
      printf("\n##################### ISPIS #################### \n");
        for (int i=0;i<max;i++){
          printf("****** OSOBA ****** \n");
          osoba_ispis(&osobe[i]);
        }
     }
void osoba_fUnos(FILE *fp,struct s_osoba *osoba){
      if (fp!=NULL){
        fprintf(fp,"%s\n",osoba->ime);
        fprintf(fp,"%s\n",osoba->prezime);
        fprintf(fp,"%d\n",osoba->godine);
       }
       else{
       printf("Cant read or create file");
       }
     }
 void osoba_fIspis(FILE *fp,struct s_osoba *osoba){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
         char str[20];
        fgets(str,20,fp); strcpy(osoba->ime,str);
        fgets(str,20,fp); strcpy(osoba->prezime,str);
        fscanf (fp, "%d", &osoba->godine);
       
       }
       else{
       printf("Cant read or create file");
       }
     }
void osoba_fUnosBin(FILE *fp,struct s_osoba *osoba){
      if (fp!=NULL){
        fwrite(osoba, sizeof(struct s_osoba), 1, fp);
       }
       else{
       printf("Cant read or create file");
       }
     }

  void osoba_fIspisBin(FILE *fp,struct s_osoba *osoba){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
       fread(osoba,sizeof(struct s_osoba),1,fp);
       }
       else{
       printf("Cant read or create file");
       }
     }
void osobe_fUnosBin(FILE *fp,struct s_osoba osobe[],int max){
      if (fp!=NULL){
         for(int i=0;i<max;i++){
               fwrite(&osobe[i], sizeof(struct s_osoba), 1, fp);
         }
       }
       else{
       printf("Cant read or create file");
       }
     }

  void osobe_fIspisBin(FILE *fp,struct s_osoba osobe[]){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
       // citaj sve dok je velicna procitanog ista kao velicina strukture
       struct s_osoba osoba;
       int i=0;
        while ( fread(&osoba,sizeof(struct s_osoba),1,fp)== sizeof(struct s_osoba)) {
        /* byte swap here */
          osobe[i]=osoba;
          struct s_osoba osoba;
          i++;
        }
     
       }
       else{
       printf("Cant read or create file");
       }
     }

Monday, March 9, 2015

#3 Pisanje i citanje strukture iz fajla

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

// pisanje i citnaje strukture iz fajla
 struct s_person{
    char name[20];
    char surname[20];
    int age;      
 };

 void person_input(struct s_person *person);
 void person_output(struct s_person *person);

 void person_fWrite(FILE *fp,struct s_person *person);
 void person_fRead(FILE *fp,struct s_person *person);

 struct s_person person;

 main(){
       
        FILE *fp=fopen("fStruct.txt","w+");
         //unos strukture sa tastature
         person_input(&person);
         // upis u fajl
         person_fWrite(fp,&person);
         // citanje iz fajla
         person_fRead(fp,&person);
          // ispis strukture na ekran
          person_output(&person);
          //
         
          fclose(fp);
         getch();      
}

void person_input(struct s_person *person){
        printf("person.name=");scanf("%s",&person->name);
        printf("person.surname=");scanf("%s",&person->surname);
        printf("person.age=");scanf("%d",&person->age);
     }
void person_output(struct s_person *person){
        printf("person.name=%s",person->name);
        printf("person.surname=%s",person->surname);
        printf("person.age=%d",person->age);
     }
void person_fWrite(FILE *fp,struct s_person *person){
      if (fp!=NULL){
        fprintf(fp,"%s\n",person->name);
        fprintf(fp,"%s\n",person->surname);
        fprintf(fp,"%d\n",person->age);
       }
       else{
       printf("Cant read or create file");
       }
     }
 void person_fRead(FILE *fp,struct s_person *person){
     if (fp!=NULL){
       rewind(fp); // vrati na pocetak fajla pre citnaja
         char str[20];
        fgets(str,20,fp); strcpy(person->name,str);
        fgets(str,20,fp); strcpy(person->surname,str);
        fscanf (fp, "%d", &person->age);
       
       }
       else{
       printf("Cant read or create file");
       }
     }

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