SubPrograme C++ Recursivitate

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

Post Reply
User avatar
bogdhy
Membru, skill +1
Membru, skill +1
Posts: 361
Joined: 29 Dec 2010, 16:50
Detinator Steam: Da
Has thanked: 27 times
Been thanked: 19 times

22 Feb 2012, 15:17

Salut am nevoie de putin ajutor cu o problema de c++, trebuie sa fac citirea si afisarea unei stive cu subprograme recursive.

Am incercat sa fac eu un subprogram recursiv pentru citire si vreau sa stiu daca e bun .

Code: Select all

int citire(int stiva[],int estevida,int esteplina,int varf,int baza)
{if(estevida)
	return citire(stiva,estevida,esteplina,varf,baza++)
else if(esteplina)
	cout<<"Stiva este plina";
	else
	{varf++;
	cout<<"Dati valorea: "; 
	cin>>stiva[varf];
	return citire(stiva,estevida,esteplina,varf++,baza)
	}
}
Last edited by bogdhy on 22 Feb 2012, 16:44, edited 1 time in total.
Image
RoyalServer 2
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

22 Feb 2012, 15:30

1. Incearca-l inainte sa ne intrebi...
2. Nu ai nevoie de "break" pentru ca folosesti o functie recursiva nu repetitiva, doar la for, while, dowhile folosesti break..si switch, care nu e repetitiva.
3. Posteaza tot programul nu doar functia aceea
User avatar
bogdhy
Membru, skill +1
Membru, skill +1
Posts: 361
Joined: 29 Dec 2010, 16:50
Detinator Steam: Da
Has thanked: 27 times
Been thanked: 19 times

22 Feb 2012, 17:08

Faza e ca nu stiu sa fac si programu principal cum sa apelez functia .
Image
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

22 Feb 2012, 17:57

Nu am mai facut demult asa ceva + ca nu am compilator c++ instalat, e facut in notepad ca si idee..nu sunt sigur ca e corect

Code: Select all

#include <iostream.h>

struct nod
{
	int info;
	nod *back;
};

nod *varf;

void adaugare ( nod *& v, int x )
{
	if ( v )
	{
		nod *c;
		c = new nod;
		
		c -> back = v;
		c -> info = x;
		v = c;
	}
	else
	{
		v = new nod;
		v -> info = x;
		v -> back = NULL;
	}
}

void citire ( int i, int n )
{
	if ( i <= n )
	{
		int x;
		cout << "\n x = "; cin >> x;
		
		adaugare ( varf, x );
		citire ( i + 1, n );
	}
}

void afisare ( nod *v )
{
	if ( v )
	{
		cout << v -> info << " ";
		afisare ( v -> back );
	}
}

int main ( )
{
	int n;
	cout << "n = "; cin >> n;
	
	
	citire ( 1, n );
	afisare ( varf );
	
	return 0;
}
User avatar
raiden
Fost moderator
Fost moderator
Posts: 3260
Joined: 22 Jun 2009, 22:56
Detinator Steam: Da
Reputatie: Fost eXtream Mod
Location: Bucharest
Has thanked: 81 times
Been thanked: 218 times

22 Feb 2012, 18:39

primul program care l-ai pus aici e vraiste are 6 errori lipsesc ; etc si nu e bun nici macar nu poate fi rulat.
cel care ti l-a dat annakin functioneaza.
User avatar
bogdhy
Membru, skill +1
Membru, skill +1
Posts: 361
Joined: 29 Dec 2010, 16:50
Detinator Steam: Da
Has thanked: 27 times
Been thanked: 19 times

22 Feb 2012, 19:04

Il poti explica putin annakin te rog ?
Image
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

22 Feb 2012, 19:08

ai lipsit de la lectie la scoala? programul l-am facut destul de "readable" zic eu...
User avatar
bogdhy
Membru, skill +1
Membru, skill +1
Posts: 361
Joined: 29 Dec 2010, 16:50
Detinator Steam: Da
Has thanked: 27 times
Been thanked: 19 times

22 Feb 2012, 21:38

Nu am lipsit doar ca unele chestii nu le-am invatat din ce ai trecut tu in program .
Image
User avatar
sAyliciousxD
Membru, skill +2
Membru, skill +2
Posts: 612
Joined: 15 Mar 2010, 17:52
Detinator Steam: Da
CS Status: Hereee
Location: Bucharest
Has thanked: 12 times
Been thanked: 48 times

22 Feb 2012, 21:46

New mod-ul nu are ce cauta in ce ai facut tu anakin, in rest este ok. Nici eu nu ma pricep in totalitate, dar nu inteleg la ce foloseste new mod-ul daca chiar bogdhy a explicat
afisarea unei stive
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

22 Feb 2012, 22:18

sAyliciousxD wrote:New mod-ul nu are ce cauta in ce ai facut tu anakin, in rest este ok. Nici eu nu ma pricep in totalitate, dar nu inteleg la ce foloseste new mod-ul daca chiar bogdhy a explicat
afisarea unei stive
vrei sa zici "nod" nu mod
pai asta inseamna stiva defapt, mai multe nod-uri legate intre ele si un varf..."new nod" declari un nou nod in varful stivei pentru a adauga un numar de ex..

@ bogdhy zi ce nu ai invatat din ce am scris eu si o sa incerc sa-ti explic
User avatar
bogdhy
Membru, skill +1
Membru, skill +1
Posts: 361
Joined: 29 Dec 2010, 16:50
Detinator Steam: Da
Has thanked: 27 times
Been thanked: 19 times

22 Feb 2012, 22:25

v -> info
nod *& v // stiu de *x e pointer iar & e parametru transmis prin referinta dar *& nu am invatat .
nod *back; // in structura nod ai declarat pointeru back de tip nod ?
Image
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

22 Feb 2012, 22:36

bogdhy wrote:v -> info
nod *& v // stiu de *x e pointer iar & e parametru transmis prin referinta dar *& nu am invatat .
nod *back; // in structura nod ai declarat pointeru back de tip nod ?
exact...

* pointer
& transmis prin referinta

*& pointer transmis prin referinta, primeste aceste 2 atribute..le poti scrie si separat adica "& *v" sau "& * v"
Post Reply

Return to “Discutii generale”

  • Information