Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
VPN Romania!

Iar un topic despre achizitie tel...

Ce ghinion! Incendiu intr-un ...

Atentionare bord
 Recomandare dilutie finasterida s...

Mira feat. Vescan-Alo Alo

Samsung Galaxy S23 FE

Screen tearing pe orice browser (...
 Este muzica popcorn urata si in p...

Sfat achizitie laptop HP vs ASUS

Vopsire gard metal "Direct pe...

Cu ce spalam axila de transpiratie?
 O elipsa de arie minima circumscr...

sfat achizitie desktop arhitectura

Unde este placa cu relee de la fr...

Polita RCA
 

[Provocare] Generarea produsului cartezian a n multimi

- - - - -
  • Please log in to reply
9 replies to this topic

#1
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 29,767
  • Înscris: 24.02.2007
Ai mai multe multimi, de exemplu: {1, 2}, {'a', 'b'}, {4, 5, 6} si vrei sa generezi toate elementele produsului catezian:

Quote

1a4
1a5
1a6
1b4
1b5
1b6
2a4
2a5
2a6
2b4
2b5
2b6

Cum ai rezolva asta? Cum ai returna rezultatele? Poate nu incap toate in memorie.

Orice limbaj. Ordinea nu conteaza.

Edited by dani.user, 22 May 2020 - 15:53.


#2
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
Doar asa ca subiect de gandire in plus: 1. multe multimi cu putine elemente vs 2. putine multimi, fiecare cu multe elemente.

#3
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 30,461
  • Înscris: 10.08.2005
Gresesc cand consider ca folosim asta "zi de zi", mai exact cand scriem data ?

Edited by MarianG, 22 May 2020 - 17:22.


#4
halflife

halflife

    Member

  • Grup: Members
  • Posts: 761
  • Înscris: 31.05.2015
#include<iostream>
using namespace std;
int nr_multimi, *elemente_pe_multime;
char ** element;
bool **state;
void print_elemnt(int nr_multimi, int *el_pe_multime){
	for(int i=0; i<nr_multimi; i++){
		for(int j=0; j<el_pe_multime[i]; j++){
			if(state[i][j] == 1){
				cout<<element[i][j]<<" ";
			}
		}
	}
	cout<<endl;
}
int update_state(){
	int i =0, ok = 0;
	for(i=nr_multimi-1; i>=0 && ok==0; i--){
		for(int j=elemente_pe_multime[i]-1; j>=0; j--){
			if(state[i][j] == 1){
				if(j>0){
					state[i][j] = 0;
					state[i][j-1] = 1;
					ok = 1;
					break;
				}
				else{
				  state[i][j] = 0;
				  state[i][elemente_pe_multime[i]-1] = 1;
				  break;
				}
			}
		}
	}
	if(i < 0 && ok ==0){
		return 1;
	}
	return 0;
}
int main(){
	cout<< "Nr de multimi: "; cin>> nr_multimi;
	elemente_pe_multime = new int[nr_multimi];
	element = new char*[nr_multimi];
	state = new bool*[nr_multimi];
	for(int i=0; i<nr_multimi; i++){
		cout<<"Nr elemente multime "<<(i+1)<<" : "; cin>> elemente_pe_multime[i];
		element[i] = new char[elemente_pe_multime[i]];
		state[i] = new bool[elemente_pe_multime[i]];
		for(int j=0; j<elemente_pe_multime[i]; j++){
			cout<<"Elementul "<<(j+1)<<" din multimea "<<(i+1)<<" : "; cin>>element[i][j];
		}
	}
	for(int i=0; i<nr_multimi; i++){
		for(int j=0; j<elemente_pe_multime[i]-1; j++){
			state[i][j] = 0;
		}
		state[i][elemente_pe_multime[i]-1] = 1;
	}
	do{
		print_elemnt(nr_multimi, elemente_pe_multime);
	}while(update_state() != 1);
	return 0;
}



#5
jegmihai

jegmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 11,536
  • Înscris: 03.09.2013

View Postdani.user, on 22 mai 2020 - 15:52, said:

Poate nu incap toate in memorie.
Corutine?

#6
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 29,767
  • Înscris: 24.02.2007

View Postjegmihai, on 22 mai 2020 - 18:11, said:

Corutine?

Nu neaparat. Se poate si mai simplu.

View PostMarianG, on 22 mai 2020 - 17:22, said:

Gresesc cand consider ca folosim asta "zi de zi", mai exact cand scriem data ?

O comparatie usor fortata ar fi sa enumeri toate datele formate din zilele (1 ... 31), lunile (ian ... dec), anii (...). Ignorand ca unele luni au mai putine zile ca altele.

#7
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 29,767
  • Înscris: 24.02.2007
Spoiler


#8
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 29,767
  • Înscris: 24.02.2007

View Posthalflife, on 22 mai 2020 - 18:09, said:

...


Nu-i rau pentru inceput.

#9
halflife

halflife

    Member

  • Grup: Members
  • Posts: 761
  • Înscris: 31.05.2015

View Postdani.user, on 23 mai 2020 - 13:08, said:


Nu-i rau pentru inceput.
Ca sa nu zica uni ca nu stiu sa scriu o linie de cod.

#10
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 30,461
  • Înscris: 10.08.2005
Daca postezi mai des linii de cod o sa am grija sa nu o mai fac/faca.

Edited by MarianG, 23 May 2020 - 22:45.


Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate