Showing posts with label Pokazivači. Show all posts
Showing posts with label Pokazivači. Show all posts

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();
   
}

Thursday, November 21, 2013

#4 Sortiranje ocena uz pomoć funkcija i pokazivača na nizove

Napisati program koji radi sledeće:

  1. Unosi ocene učenika,
  2. ispisuje niz ocena  vertikalno i horizontalno u redu
  3. pronalayi najveću i najmanju ocenu u nizu,
  4. sortira niz po rastućem i opadajućem redosledu.

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

#define max_elem 5
// niz od maximalnog broja elemenata
int ocene[max_elem];
 
 void niz_unos (int *niz,int n);
 void niz_ispis_vert(int *niz,int n);
 void niz_ispis_hor(int *niz,int n);
 int niz_min(int *niz,int n);
 int niz_max(int *niz,int n);
 
 void niz_sort_up (int *niz,int n);
 void niz_sort_down (int *niz,int n);
  
main (){
     //unesi elemente niza
     niz_unos(ocene,max_elem);
     printf("\n");
     niz_ispis_vert(ocene,max_elem);
     
     printf("Najmanji element niza::%d \n",niz_min(ocene,max_elem));
     
     printf("Najveci element niza::%d \n",niz_max(ocene,max_elem));
     
     printf("\n");
     printf("Sortiraj niz po rastucem redosledu i ispisi elemente \n");

     niz_sort_up(ocene,max_elem);
     niz_ispis_hor(ocene,max_elem);
     
     printf("Sortiraj niz po opadajucem redosledu i ispisi elemente \n");
     niz_sort_down(ocene,max_elem);
     niz_ispis_hor(ocene,max_elem);
     
 getch();    
}

 void niz_unos(int *niz,int n){
      for(int i=0;i<n;i++){
       printf("[%d]=",i);
       scanf("%d",&niz[i]);        
      } 
}
 void niz_ispis_vert(int *niz,int n){
      for(int i=0;i<n;i++){
       printf("[%d]=%d\n",i,niz[i]);     
      } 
       printf("\n"); //predji u novi red posle ispisa svih elemenata niza
 }
  void niz_ispis_hor(int *niz,int n){
      for(int i=0;i<n;i++){
       printf("%d, ",niz[i]);       
      } 
      printf("\n"); //predji u novi red posle ispisa svih elemenata niza
 }
 int niz_min(int *niz,int n){
     int min=niz[0];
      for(int i=1;i<n;i++){
       if(min>niz[i]) min=niz[i];         
      } 
      return min;
}
int niz_max(int *niz,int n){
     int max=niz[0];
      for(int i=1;i<n;i++){
       if(max<niz[i]) max=niz[i];         
      } 
      return max;
}

void niz_sort_up (int *niz,int n){
     for(int i=0;i<n-1;i++){
       for(int j=i+1;j<n;j++){
            // provera da li je veci trenutni element niza od sledeceg
            // ako jeste stavi ga u trenutni element niza
            if (niz[i]>niz[j]){
             int tmp=niz[i];
             niz[i]=niz[j];
             niz[j]=tmp;                                     
            }
       }      
     }
     
}
void niz_sort_down (int *niz,int n){
     for(int i=0;i<n-1;i++){
       for(int j=i+1;j<n;j++){
            // provera da li je manji trenutni element niza od sledeceg
            // ako jeste stavi ga u trenutni element niza
            if (niz[i]<niz[j]){
             int tmp=niz[i];
             niz[i]=niz[j];
             niz[j]=tmp;                                     
            }
       }      
     }
     
}

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();
     
}