C++ zadaci,resenja,pitanja,tutoriali

#include<stdio.h>
int odd (int);
int komb (int , int );
int fak(int );
int main()
{

int x,y,i,j,s;



printf("unesi broj x i y \n ");
scanf("%d%d",&x,&y) ;
for( i=1; i<=x ; i ++)
{
for( j=1; j<=x-i ; j ++)
printf(" ");

for( s=i; s>=0; s --)
printf("%d ",komb(i,s));
printf("\n");
}



scanf("%d",&x) ;

}
int komb ( int a,int b )
{ if (b ==0) return 1 ;
else
{

if (b>a ) return 1 ;
else return ( fak(a)/(fak(b)*fak(a-b)));}

}
int fak ( int a )

{

int i , s=1 ;
for (i=2;i<=a;i++)
s*=i;
return s;
}
 
E ovako ljudi,ja sam ucenik srednje tehnicke skole,elektrotehnicar racunara,treca sam godina,i treba mi pomoc oko jednog zadatka.Evo teksta:
Нека је дат целобројни низ a[15]. Напиши програм којим се формирају чланови овог низа функцијом random до 81. Прикажи добијени низ. Позови функцију racun која је типа void и у њој пронађи највећи члан као и његов индекс. У аргументима функције користи показиваче.

Прикажи резултат у облику:

"Najveci clan niza je: __ а njegov je indeks __ ".

Ukoliko neko ima volje da mi pomogne,bio bih vam jako zahvalan.Hvala unapred! :)
 
Ovako nesto...

Kod:
// racun.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */


void racun(int *&najveci, int *&indeks) {

	int a[15];
	int max = 0;
	int idx = 0;

	srand (time(NULL)); //randomizacija
	for(int i = 0; i < 15; i++) {
		a[i] = rand() % 82;
		if(i > 0) {    //ako sledeci element niza nije prvi (0)
			if((a[i] > a[i -1]) && (a[i] > max)){
				max = a[i];
				idx = i;
			}
		}
		else  //prvi element , a moglo je obrnuto da ide ovo kao if(i == 0)..
		{
			max = a[i];
			idx = i;
		}
	}

	najveci = &max;
	indeks = &idx;

}


int _tmain(int argc, _TCHAR* argv[])
{  
	int *najveci =0;
	int *indeks = 0;


	racun(najveci,indeks);

	printf("Najveci clan niza je %d a njegov indeks je %d.\n",*najveci,*indeks);
	system("pause");
	
	return 0;
}
 
Poslednja izmena:
..

Kod:
// racun.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */


void racun(int[B][SIZE=4] *&[/SIZE][/B]najveci, int[B][SIZE=4] *&[/SIZE][/B]indeks) {   [COLOR="#FF0000"] otkad se koristi ovo :D
[/COLOR]
	int a[15];
	int max = 0;
	int idx = 0;

	srand (time(NULL)); //randomizacija
	for(int i = 0; i < 15; i++) {
		a[i] = rand() % 82;
		[B][SIZE=4]if(i > 0) {    //ako sledeci element niza nije prvi (0)[/SIZE][/B]    [COLOR="#FF0000"] [B] definises kao a0 je max , tako da je ovo bezpotrebno [/B][/COLOR]
			[B]if((a[i] > a[i -1]) && (a[i] > max)){   [/B]     [COLOR="#FF0000"] [B]ovaj prvi deo u if-u cemu sluzi . Dovoljno je ako je ai vece od max [/B][/COLOR]
				max = a[i]; 
				idx = i;
			}
		[B]}
		else  //prvi element , a moglo je obrnuto da ide ovo kao if(i == 0)..
		{
			max = a[i];
			idx = i;
		}[/B]                         [B] [COLOR="#FF0000"]skroz bezpotrebno[/B][/COLOR]
	}

	najveci = &max;
	indeks = &idx;

}


int _tmain(int argc, _TCHAR* argv[])
{  
	[B]int *najveci =0;
	int *indeks = 0;
[/B]

	racun(najveci,indeks);

	printf("Najveci clan niza je %d a njegov indeks je %d.\n",*najveci,*indeks);
	system("pause");
	
	return 0;
}
 
Hvala puno :) Jos samo treba da sredim da mi program prikaze ceo niz koji je napravio :D Jos jednom,hvala !

Dodatak i mala izmena..

Kod:
// racun.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */


void racun(int *&najveci, int *&indeks) {

	int a[15];
	int max = 0;
	int idx = 0;

	srand (time(NULL)); //randomizacija
	for(int i = 0; i < 15; i++) {
		a[i] = rand() % 82;
		if(i == 0) {
			max = a[i];
			idx = i;

		}
		else
		{
			if((a[i] > a[i -1]) && (a[i] > max)){
				max = a[i];
				idx = i;
			}
		}
[COLOR="#FF0000"]		// prikazivanje svih brojeva i indeksa
		printf("Broj %d i indeks %d\n",a[i], i);[/COLOR]

	}

	najveci = &max;
	indeks = &idx;

}


int _tmain(int argc, _TCHAR* argv[])
{  
	int *najveci =0;
	int *indeks = 0;


	racun(najveci,indeks);

	printf("Najveci clan niza je %d a njegov indeks je %d.\n",*najveci,*indeks);
	system("pause");

	return 0;
}

racun.jpg


attachment.php


.....

Moguce je da broj bude 0, a ako je potrebno da min bude 1, onda :

a = rand() % 81 + 1;

...

Onaj povise prdoje kad kaze "otkad se koristi ovo" naucio samo ovo

void racun(int **najveci.....
........
*najveci = &max;
.......
racun(&najveci,..........

pa stoga kombinovano pointeri po referenci

Kod:
// racun.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */


void racun([COLOR="#FF0000"]int **najveci[/COLOR], int *&indeks) {

	int a[15];
	int max = 0;
	int idx = 0;

	srand (time(NULL)); //randomizacija
	for(int i = 0; i < 15; i++) {
		a[i] = rand() % 81 + 1;
		if(i == 0) {
			max = a[i];
			idx = i;

		}
		else
		{
			if((a[i] > a[i -1]) && (a[i] > max)){
				max = a[i];
				idx = i;
			}
		}
		// prikazivanje svih brojeva i indeksa
		printf("Broj %d i indeks %d\n",a[i], i);

	}

	[COLOR="#FF0000"]*najveci = &max;[/COLOR]
	indeks = &idx;

}


int _tmain(int argc, _TCHAR* argv[])
{  
	int *najveci =0;
	int *indeks = 0;


	racun([COLOR="#FF0000"]&najveci[/COLOR],indeks);

	printf("Najveci clan niza je %d a njegov indeks je %d.\n",*najveci,*indeks);
	system("pause");

	return 0;
}
 
Poslednja izmena:
Dodatak i mala izmena..

Kod:
// racun.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */


void racun(int *&najveci, int *&indeks) {

	int a[15];
	int max = 0;
	int idx = 0;

	srand (time(NULL)); //randomizacija
	for(int i = 0; i < 15; i++) {
		a[i] = rand() % 82;
		if(i == 0) {
			max = a[i];
			idx = i;

		}
		else
		{
			if((a[i] > a[i -1]) && (a[i] > max)){
				max = a[i];
				idx = i;
			}
		}
[COLOR="#FF0000"]		// prikazivanje svih brojeva i indeksa
		printf("Broj %d i indeks %d\n",a[i], i);[/COLOR]

	}

	najveci = &max;
	indeks = &idx;

}


int _tmain(int argc, _TCHAR* argv[])
{  
	int *najveci =0;
	int *indeks = 0;


	racun(najveci,indeks);

	printf("Najveci clan niza je %d a njegov indeks je %d.\n",*najveci,*indeks);
	system("pause");

	return 0;
}

Pogledajte prilog 312203

attachment.php


.....

Moguce je da broj bude 0, a ako je potrebno da min bude 1, onda :

a = rand() % 81 + 1;

...

Onaj povise prdoje kad kaze "otkad se koristi ovo" naucio samo ovo

void racun(int **najveci.....
........
*najveci = &max;
.......
racun(&najveci,..........

pa stoga kombinovano pointeri po referenci

Kod:
// racun.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */


void racun([COLOR="#FF0000"]int **najveci[/COLOR], int *&indeks) {

	int a[15];
	int max = 0;
	int idx = 0;

	srand (time(NULL)); //randomizacija
	for(int i = 0; i < 15; i++) {
		a[i] = rand() % 81 + 1;
		if(i == 0) {
			max = a[i];
			idx = i;

		}
		else
		{
			if((a[i] > a[i -1]) && (a[i] > max)){
				max = a[i];
				idx = i;
			}
		}
		// prikazivanje svih brojeva i indeksa
		printf("Broj %d i indeks %d\n",a[i], i);

	}

	[COLOR="#FF0000"]*najveci = &max;[/COLOR]
	indeks = &idx;

}


int _tmain(int argc, _TCHAR* argv[])
{  
	int *najveci =0;
	int *indeks = 0;


	racun([COLOR="#FF0000"]&najveci[/COLOR],indeks);

	printf("Najveci clan niza je %d a njegov indeks je %d.\n",*najveci,*indeks);
	system("pause");

	return 0;
}

decko veze nemas o programiranju
 
Ziva bre :hahaha1:

I koji si ti uopste da mi se obratis sa to "decko", i drugo nemas ti pojma.. :per:

izvini , bebac , stvarno decko deluje ipak malo odraslo .
Jel si ti bebac procitao sta je zadatak ,
funkcija treba samo da izbaci max i index . A ono tvoje trazenje max je legederno , u vrticu pisu deca bolje programe . ebiga tako je to kad se programiranje uci sa jutuba
 
izvini , bebac , stvarno decko deluje ipak malo odraslo .
Jel si ti bebac procitao sta je zadatak ,
funkcija treba samo da izbaci max i index . A ono tvoje trazenje max je legederno , u vrticu pisu deca bolje programe . ebiga tako je to kad se programiranje uci sa jutuba

Jesi li ti lud? gde da izbaci? je'l kaze f-ja tipa void sa pointer parametrima koji pokupe vrednost .. jeste malo vise prosireno.. ali jasno... i sta fali sto ima jos jedan uslov dal' je vece od prethodnog clana?

'aj napisi ti iz pocetka.. da vidimo to :D

Mojne moj kod da koristis..

Nego koji ti problem imas? Sujeta.. sta li? :think:
 
Poslednja izmena:
Jesi li ti lud? gde da izbaci? je'l kaze f-ja tipa void sa pointer parametrima koji pokupe vrednost .. jeste malo vise prosireno.. ali jasno...

'aj napisi ti iz pocetka.. da vidimo to :D

Mojne moj kod da koristis..
prvo bebac ,
void funkcija treba da stampa max i index ne i da generise niz . i kao unos je niz i ova dva pokazivaca , koje ti lol obelezavas . void bebac ( int a[], int * max , int * inx)
dalje bebac pri voidu ide
*max = a [0];
*inx = 0 ;
i onda u foru ti ide pitas samo ukoliko je a[i ] gde i ide od 1 vece od maximua onda pamti index i maximalnu vrednost .
eto to ti je funkcija tri reda .

i onda u glavnom programu prvu bebac odradis random generisanje niza i pozoves funkciju .
otprilike 5 redova program
 
prvo bebac ,
void funkcija treba da stampa max i index ne i da generise niz . i kao unos je niz i ova dva pokazivaca , koje ti lol obelezavas . void bebac ( int a[], int * max , int * inx)
dalje bebac pri voidu ide
*max = a [0];
*inx = 0 ;
i onda u foru ti ide pitas samo ukoliko je a[i ] gde i ide od 1 vece od maximua onda pamti index i maximalnu vrednost .
eto to ti je funkcija tri reda .

i onda u glavnom programu prvu bebac odradis random generisanje niza i pozoves funkciju .

Evo ti oko petlje kako si ti zamlislio (isti hurac)

Kod:
	a[0] = rand() % 81 + 1;
	max = a[0];
	idx = 0;
	for(int i = 1; i < 15; i++) {
		a[i] = rand() % 81 + 1;

			if(a[i] > max){
				max = a[i];
				idx = i;
			}
		
		// prikazivanje svih brojeva i indeksa
		printf("Broj %d i indeks %d\n",a[i], i);

	}

Toliko nebitno..


...

I drugo... ti imas problem kako napises f-ju koja u parametrima vraca vrednost umesto da uzima... i to se radi ako nisi znao :D
 
Vec kad smo kod kreativnosti, a posto je definisan niz celobrojnih vrednosti.. tj duzina.. for petlja recimo

Kod:
	for(int i = 1; i <[COLOR="#FF0000"] sizeof(a) / 4[/COLOR]; i++) {
		a[i] = rand() % 81 + 1;

			if(a[i] > max){
				max = a[i];
				idx = i;
			}
		
		// prikazivanje svih brojeva i indeksa
		printf("Broj %d i indeks %d\n",a[i], i);

	}

int ima 4 bajta puta 15 clanova je 60.. zato podela sa 4 :D

ili prosto

Kod:
for(int i = 1; i < [COLOR="#FF0000"]sizeof(a) / sizeof(int)[/COLOR]; i++) {
		a[i] = rand() % 81 + 1;

			if(a[i] > max){
				max = a[i];
				idx = i;
			}
		
		// prikazivanje svih brojeva i indeksa
		printf("Broj %d i indeks %d\n",a[i], i);

	}
 
Poslednja izmena:
Umes li ti da se izrazis sta hoces? Celobrojeni brojevi, sa pokretnim zarezom, signed ili unsigned...
sa pokretnim zarezom ili zapetom :hahaha:


dva broja , nekuvana , nepecena , recimo 664111932929039203902903902390239029039029034566874567898876578956 +
78638983898938989398000202020028282039755257377832828378688778788787278737823082032, izlaze malo iz opesega int ili long
 
Ja sam Mihailo Zivkovic,ucenik trece godine tehnicke skole.Ovom prilikom bih vas zamolio za pomoc,ukoliko je neko u mogucnosti da resi sledeci zadatak:
Задатак 2

Нека је дат целобројни низ a[14]. Напиши програм којим се формирају чланови овог низа функцијом random до 46. Овај низ формирај у функцији типа void formiranje, Прикажи добијени низ у главној функцији main. Позови функцију zameni која је типа void и у kojoj чланови низа замењују места на следећи начин.

a[0] са a[13], a[1] са a[12],a[2] са a[11],...a[6] са a[7],

У главној функцији main прикажи тако модификовани низ.

Прикажи резултат у облику:

"Clanovi formiranog niza su : __ __ __ ... "

"Clanovi modifikovanog niza su : __ __ __ ... "
Uz napomenu da se u funkciji zameni koristi pokazivac na niz.Hvala unapred.
 

Back
Top