Exercitiu C++

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

johnnny
Membru, skill +1
Membru, skill +1
Posts: 139
Joined: 03 Nov 2012, 20:09
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Has thanked: 21 times
Been thanked: 16 times
Contact:

24 Dec 2012, 16:29

Multumesc!
RoyalServer
User avatar
Raduk
Membru, skill +1
Membru, skill +1
Posts: 246
Joined: 29 Nov 2008, 08:26
Detinator Steam: Da
Location: Brasov
Has thanked: 12 times
Been thanked: 31 times

24 Dec 2012, 22:37

bogdhy wrote:
| Afiseaza codul
[code]#include <iostream.h>

int a[10][10],b[10][10],m,n,x,y;

void citeste(int a[][10],int n,int m)
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
		{	
			cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[j];
			
		}
}


void afisare(int a[][10],int n,int m)
{
	for(int i=1;i<=n;i++)
	{	for(int j=1;j<=m;j++)
			cout<<a[j]<<" ";
		cout<<endl;
	}
	
}

void construire(int x,int y)
{
	for(int i=1;i<=2;i++)
	{	for(int j=1;j<=2;j++)
		{	
			b[j]=a[x][y];
			y++;
		}
		x++;
		y=y-2;
	}
}

int suma()
{	
	int S=0;
	for(int i=1;i<=2;i++)
		for(int j=1;j<=2;j++)
			S+=b[j];
		
	return S;

}

int main()
{
	cout<<"n= "; cin>>n;
	cout<<"m= "; cin>>m; cout<<endl;
	
	citeste(a,n,m); cout<<endl;
	
	cout<<"<----------- Matricea A ----------->"<<endl<<endl;
	
	afisare(a,n,m); cout<<endl;
	
	cout<<"x= "; cin>>x;
	cout<<"y= "; cin>>y;
	
	construire(x,y); cout<<endl;
	
	cout<<"<----------- Matricea B ----------->"<<endl<<endl;
	
	afisare(b,2,2); cout<<endl;
	
	cout<<"Suma este egala cu "<<suma();
	
}[/code]


@bogdhy nu o lua in nume de rau, dar mie mi se pare naspa sa folosesti for pentru calcularea sumei si construirea matricei b. Avand in vedere ca stim exact cate variabile avem de adunat si pe deasupra mai sunt si doar 4:

Code: Select all

int suma(int b) {   
   b[0][0]+=b[0][1]+b[1][0]+b[1][1];	
   return b[0][0];
}
Nu are rost sa mai declar inca o variabila pentru suma, caci ar fi un consum inutil de memorie.

La fel si pentru construirea matricei b - am explicat ce si cum mai sus.

Code: Select all

void construire(int x,int y, int &b) {
    b[0][0]=a[x][y];
..........................
}
Ps: Pe mine m-ar omora profa daca as folosi variabile globale.
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

29 Dec 2012, 23:00

Eh fiecare cu stilu lui , si na m-am grabit cand l-am facut . La faza cu variabile globale nu inteleg de ce ca oricum variabilele locale au prioritate asa ca nu te incurca si in plus o variabila globala se initializeaza automat cu 0 deci nu risti sa iti aloce o valoare din memorie daca uiti tu sa faci atribuirea de exemplu in cazul unei sume .
Image
Post Reply

Return to “Discutii generale”

  • Information