Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
[Provocare] Generarea produsului cartezian a n multimi
Last Updated: May 23 2020 22:44, Started by
dani.user
, May 22 2020 15:52
·
0
#1
Posted 22 May 2020 - 15:52
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
Posted 22 May 2020 - 15:58
Doar asa ca subiect de gandire in plus: 1. multe multimi cu putine elemente vs 2. putine multimi, fiecare cu multe elemente.
|
#3
Posted 22 May 2020 - 17:22
Gresesc cand consider ca folosim asta "zi de zi", mai exact cand scriem data ?
Edited by MarianG, 22 May 2020 - 17:22. |
#4
Posted 22 May 2020 - 18:09
#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
Posted 22 May 2020 - 18:11
#6
Posted 22 May 2020 - 18:41
jegmihai, on 22 mai 2020 - 18:11, said:
Corutine? Nu neaparat. Se poate si mai simplu. MarianG, 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. |
#8
Posted 23 May 2020 - 13:08
#9
Posted 23 May 2020 - 17:49
#10
Posted 23 May 2020 - 22:44
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
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users