Showing posts with label Funkcije. Show all posts
Showing posts with label Funkcije. Show all posts

Tuesday, December 10, 2013

#5 Matrice preko pokazivaca

// 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);
 
  void matrica_ispis_glavne_dijagonale(int mat[][mM],int n);
  void matrica_ispis_sporedne_dijagonale(int mat[][mM],int n);
 
  void matrica_ispis_horizontalne_sredine(int mat[][mM],int n,int m);
  void matrica_ispis_vertikalne_sredine(int mat[][mM],int n,int m);
 
  int matrica_min_element(int mat[][mM],int n,int m);
  int matrica_max_element(int mat[][mM],int n,int m);
 
  void matrica_sort_up(int mat[][mM],int n,int m);
  void matrica_sort_down(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);
 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;
                      }
              }
              }    
         }
        }
    }

Monday, December 10, 2012

#5 Pokazivači i funkcije


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

// globalne promenjive
int niz[10];

// funkcije

int suma_bez(int a[10]){
  int _suma=0;

  for (int i=0;i<10;i++){
      _suma+=a[i];
  }
  return _suma;
}

int suma(int *a){
  int _suma=0;

  for (int i=0;i<10;i++){
      _suma+=a[i];
  }
  return _suma;
}

void upisOcena_bez(int n){
     for (int i=0;i<n;i++){
           printf("niz[%d]=",i+1);
           scanf("%d",&niz[i]);
     }
}

void upisOcena(int n, int *_niz){
     for (int i=0;i<n;i++){
           printf("niz[%d]=",i+1);
           scanf("%d",&_niz[i]);
     }
}

 // glavni program
main(){
       printf("Unesite ocena ucenika da bi se izracunao prosek\n");
       //upisOcena_bez(10);
       //printf("Suma ocena je %d\n",suma_bez(niz));
     
       upisOcena(10,niz);
       printf("Suma ocena je %d\n",suma(niz));
     
       getch();
     
}

Wednesday, November 9, 2011

#4 Funkcije pitagorina teorema za stranice abc

// Ptagorina teorema u funkcijama
#include<stdio.h>
#include<conio.h>
#include<math.h>
// Definisanje svih funkcija
 
   // funkcija za a stranicu
   double aStranica(double b, double c){
         //a2+b2=c2;
         //a2=c2-b2;
         //a=sqrt(c2-b2)
         return sqrt((c*c)-(b*b));
       
   }
   // dodati ostale funkcije i prosiriti primer !!!
 
// kraj svih funkcija
char stranica;
// stranice
 float a,b,c;
main(){

 printf("Koju stranicu pravouglog trougla zelis da izracunas\n");
 printf ("a b ili c \n");

 printf("stranica=");
 stranica=getch();
 printf("%c\n",stranica);
 printf("*****************************************\n");
 switch(stranica){
      // a stranica
      case 65: case 97:
           printf("*** Odabraliste da izracunate stranicu a *** \n");
           printf("molim vas unesite stranice b i c sledecim redosledom \n\n");
           printf("b=");scanf("%f",&b);
           printf("c=");scanf("%f",&c);
           printf("a=%f\n",aStranica(b,c));
      break;
      default :
          printf("Pogresan unos, niste odabrali a,b ili c stranicu");   
      break;       
               
}
       getch();
        
}

#3 Funcije u C-u kvadrat i faktorijel

// Pojam funkcije u C-u
#include<stdio.h>
#include<conio.h>
// kvadrat funkcija
int fKvadrat(int broj){
   
    return broj*broj;  
}
// Faktorijel funkcija
int fFaktorijel(int broj){
  int brojac=1;
 
  for (int i=1;i<=broj;i++){
      brojac=brojac*i;
      }  
   
    return brojac;
}

main(){
      
       printf("kvadrat broja 4 je %d \n",fKvadrat(4));
      
       printf("faktorijel broja 4 je %d \n",fFaktorijel(4));
      
       getch();
         
}

Wednesday, November 24, 2010

#3 Crtanje romboida od brojeva

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

// Program za crtanje romboida od brojeva
/*        
     1 2
    1   2
   1     2
  1       2
 1         2
 3         4
  3       4
   3     4
    3   4
     3 4

*/
void gornjiTrougao(){ 
     for(int i=5;i>=1;i--){
            
      for (int j=1;j<i+1;j++){ 
          printf(" ");
          }
      printf("1"); 
          for(int k=0;k<=5-i;k++){
          printf(" ");
          }
           for(int k=1;k<=5-i;k++){
          printf(" ");
          }
          printf("2\n");  
     }
     }
    
void donjiTrougao(){
     int s,j,k,l;
     for ( s=1;s<=5;s++){
       for ( j=5;j>5-s;j--){
        printf(" ");
       } 
     printf("3");
         for( k=0;k<=5-s;k++){  
          printf(" ");
          }
           for( l=1;l<=5-s;l++){
          printf(" ");
          }
       printf("4\n");
     }   
     }
main (){
    
    
     gornjiTrougao();
     donjiTrougao();
     getch();
    
     }

Wednesday, November 17, 2010

#3 Funkcija racunanje 4 ugla cetvorougaonika

#include<stdio.h>
#include<conio.h>
//funkcija

 int ugao4(int a, int b, int c){

 return 360-(a+b+c);
 }
 // kraj funkcije

 void main(){
 clrscr();
 int a,b,c;
 printf("Program za racunanje cetvrtog ugla cetvorougaonika ako su tri poznata \n\n");
 printf("Unesi te uglove a, b, c \n");
 printf("a=");scanf("%d",&a);printf("\n");
 printf("b=");scanf("%d",&b);printf("\n");
 printf("c=");scanf("%d",&c);printf("\n");

 if((a<360)&&(a>0))
 {
  if((b<360-a)&&(b>0))
   {
    if((c<360-a-b)&&(c>0))
    {
     printf("cetvrti ugao je %d",ugao4(a,b,c));
    }
    else
    {
    printf("c=%d mora biti < 360-a-b=%d i vece od 0 \n",c,360-a-b);
    }
   }
  else
  {
  printf("b=%d mora biti manje od 360-a=%d i vece od 0 \n",b,360-a);
  }
 }
 else
 {
 printf("a=%d mora biti < 360 i vece od 0 \n",a);
 }

 getch();
 }

#3 Funkcija ispisivanje unete reci odnapred i odnazad

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

//Program proverava da li rec ima paran ili neparan broj karaktera
// za paran broj rec stampa od napred ka nazad
// za neparan rec stampa od nazad ka napred

int paran(char locRec[50]){
    for (int i=0;i<strlen(locRec);i++)
    {
      printf("%d. %c \n",i,locRec[i]);  
    } 
}

int neParan(char locRec[50]){
    for (int i=strlen(locRec)-1;i>=0;i--)
    {
      printf("%d. %c \n",i,locRec[i]);  
    } 
}

main(){
 char rec[50];

 printf("Program za ispisivanje reci odnapred ili od nazad u zavisnosti da li je paran ili neparan broj karaktera \n\n");
 printf("Unesite neku rec \n");
 printf("rec=");scanf("%s",&rec);printf("\n");

 if (strlen(rec)%2==0){
  // ako je ostatak 0 broj je paran
  paran(rec);                    
 }
 else
  {
     neParan(rec);                              
  }
 
  getch();   
   
}

Wednesday, November 10, 2010

#2 Program za izracunavnaje zbira dva broja preko funkcije

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

int zbir (int fBr1, int fBr2) // zaglavnje funkcije
    {
       return fBr1+fBr2; // zbir dva broja koje vraca funkcija
    }

main(){
       int br1,br2;
      
       printf("Program za izracunavnaje zbira dva broja preko funkcije \n\n");
       printf("br1=");scanf("%d",&br1);printf("\n");
         printf("br1=");scanf("%d",&br2);printf("\n");
       printf("zbir=br1+br2=%d",zbir(br1,br2));
       getch();
      
}