показивач this

Методе класа, осим својих параметара, који се виде у декларацији (дефиницији) функције, имају још један скривени параметар. Тај параметар је адреса објекта за који је метода позвана, тј. адреса првог операнда оператора . или вредност првог операнда оператора ->. Тај објекат се назива текући објекат, јер је то објекат који метода обрађује. Наставите са читањем

Конструктори и деструктори – урађен пример

Написати на језику C++ класу низова целих бројева. Предвидети:

  • стварање низа задате дужине (подразумевано 10) с елементима једнаким нули

  • стварање низа од копије другог низа

  • уништавање низа

  • дохватање дужине низа

  • приступ датом елементу низа

  • израчунавање збира и средње вредности елемената низа

  • налажење вредности најмањег и највећег елемента низа

  • уређивање низа по неопадајућим вредностима елемената низа

Написати на језику C++ програм за приказивање могућности горње класе. Програм треба да обрађује произвољан број низова Наставите са читањем

Рекурзивне функције – решени задаци

1. Написати рекурзивну функцију која одређује faktorijel . У главном програму применити дату функцију.

#include<stdio.h>
int fakt(int n)
{
	int i,f=1;
	if(n>1)f=n*fakt(n-1);
	return f;
}
int main()
{
	int n,k;
	printf("unesi n");scanf("%d",&n);
	k=fakt(n);
	printf("faktorijel=%d",k);
	return 0;
}

2. У математици биномни коефицијент природног броја n и целог броја k дефинисан је као природан број: bk1 и bk2 ако је k<0 или k>n. Биномни коефицијенти су коефицијенти у развоју бинома Created with GIMP (одатле и назив): Created with GIMP

нпр. за n=2 имамо Created with GIMP => коефицијенти су: 1 2 1

за n=3 imamo Created with GIMP => коефицијенти су: 1 3 3 1

Паскалов троугао приказује биномне коефицијенте за биноме степена од 0 до n.

Написати рекурзивну функцију за израчунавање датог биномног коефицијента (bk7 ) . У главном програму, користећи дату функцију исписати Паскалов троугао (Паскалов троугао садржи све биномне коефицијенте за свако n од 0 до nmax, где је nmax димензија троугла). За nmax=10 Паскалов троугао изгледа као на слици:

paskalovtrougao

#include<stdio.h>
int BK(int n, int k)
{
    	if(n<0 || k<0 || k>n) return -1;
    	else
	{
        if(n==0 || k==0 || k==n) return 1;
        else return BK(n-1,k)+BK(n-1,k-1);
    	}
}
int main()
{
	int i,j,n;
	printf("unesi n");scanf("%d", &n);
	printf("paskalov trougao\n");
	for(i=0;i<n;i++)
	{
        for(j=0;j<n-i;j++)printf("   ");
	    for(j=0;j<=i;j++)
			if(BK(i,j)==-1)printf("greska");
           	else printf("  %d   ", BK(i,j));
        printf("\n");
    }
    return 0;
}

3. Дефинисати рекурзивну функцију која израчунава вредност квадратног корена према рекурзивној формули: koren Као параметре функције користити x и n, при чему n представља број корака рекурзије који ће се користити. Написану функцију тестирати у главном програму тако што ће се приказати вредност добијена овом функцијом и вредност добијена применом математичке функције sqrt.

#include<stdio.h>
#include<math.h>
double koren(double x, int n)
{
	double a=1;
	if(n==1)a=(a+x/a)/2;
	else a=(koren(x,n-1)+x/koren(x,n-1))/2;
	return a;
}
int main()
{
	double x,k1,k2;
	int n;
	printf("unesi broj x");scanf("%lf",&x);
	printf("unesi broj koraka konverzije");scanf("%d",&n);
	k1=sqrt(x);
	k2=koren(x,n);
	printf("koren prema funkciji sqrt=%f,\nkoren prema rekurzivnoj formuli=%f",k1,k2);
	return 0;
}

Функције у програмском језику C++ – решени задаци

1. Написати на језику C++ функције за претварање правоуглих координата (x,y) тачке у равни у поларне координате (r,φ) и то коришћењем показивача и упућивача. Написати на језику C++ програм који прочита координате x и y, позове претходне функције, испише добијене резултате и понавља претходне кораке све док за једну од координата не прочита вредност (у програмском језику C++ то се записује: 1e38). Наставите са читањем

Бочни ефекти функција – решени задаци

1. Дефинисати функцију која одређује мањи од 2 цела броја и већи од два цела броја. Применом те функције одредити најмањи од 4 броја и највећи од 4 броја. Наставите са читањем