Intersectia a doua intervale c++
Last Updated: Dec 09 2017 12:15, Started by
CasCas05
, Dec 08 2017 20:45
·
0
#1
Posted 08 December 2017 - 20:45
Salutare!
Am incercat sa creez un program care determina intersectia celor n intervale.M-am gandit ca un interval incepe de la variabila a pana la variabila b.In caz ca var. a este mai mare decat var. b, am facut un swap.Dupa aceea in urmatorul for am pornit de la var. a spre var. b.Aici m-am impotmolit! Nu stiu cum sa verific intersectia.M-am gandit ca programul se face cu vector de frecventa, dar nu stiu cum sa retin doua variabile in doar unul si nu stiu daca este bine sa folosesc doi vectori de frecventa.Aici am codul pana acum: #include <iostream> using namespace std; int main() { int n,i,a,b,aux,j; cin >> n; for(i=1;i<=n;i++) { cin >> a; cin >> b; if(a> { aux=a; a=b; b=aux; } } for(j=a;j<=b;j++) { } return 0; } Daca stiti ce ar trebui adaugat, va rog dati un reply cu rezolvarea! Multe multumiri!!! Edited by CasCas05, 08 December 2017 - 20:51. |
#4
Posted 08 December 2017 - 20:58
OriginalCopy, on 08 decembrie 2017 - 20:50, said:
intervale de numere sau multimi? hotaraste-te. Baggins, on 08 decembrie 2017 - 20:51, said:
Scrie enunțul clar mai întâi. Se dă x, se cere y. |
#5
Posted 08 December 2017 - 21:05
Ce observi in reprezentarea de mai jos?
2_______10 5__________15 |
#6
Posted 08 December 2017 - 21:05
Uite o solutie in python
[ https://i.imgur.com/2vx919f.png - Pentru incarcare in pagina (embed) Click aici ] Nu functioneaza pentru intervale disjuncte, iti las tie ca tema pentru acasa sa completezi acea parte a algoritmului. |
#7
Posted 08 December 2017 - 21:10
#8
Posted 08 December 2017 - 21:14
#10
Posted 08 December 2017 - 21:22
OriginalCopy, on 08 decembrie 2017 - 21:05, said:
Uite o solutie in python [ https://i.imgur.com/2vx919f.png - Pentru incarcare in pagina (embed) Click aici ] Nu functioneaza pentru intervale disjuncte, iti las tie ca tema pentru acasa sa completezi acea parte a algoritmului. OriginalCopy, on 08 decembrie 2017 - 21:16, said:
Reunit? |
|
#11
Posted 08 December 2017 - 21:25
#12
Posted 08 December 2017 - 21:45
Liniile 1-4 definesc acele n intervale de numere (pe care tu vrei sa le citesti de la tastatura),
linia 6: incepe algoritmul cu intervalul de la minus infinit la infinit ca intersectie liniile 10-14: itereaza fiecare interval din intervals, si pentru fiecare interval, fa acele copieri de date daca se intrunesc acele conditii PS: = e o copiere de date |
#13
Posted 08 December 2017 - 21:45
#14
Posted 08 December 2017 - 21:48
CasCas05, on 08 decembrie 2017 - 21:45, said:
Mi-ai dat o idee buna dar nu prea stiu sa o codez.Cred ca ar veni cel mai mare a cu cel mai mic b. Uite o solutie mai buna in pseudocod: [ https://i.imgur.com/4mFcyRQ.png - Pentru incarcare in pagina (embed) Click aici ] |
#15
Posted 08 December 2017 - 21:48
OriginalCopy, on 08 decembrie 2017 - 21:45, said:
Liniile 1-4 definesc acele n intervale de numere (pe care tu vrei sa le citesti de la tastatura), linia 6: incepe algoritmul cu intervalul de la minus infinit la infinit ca intersectie liniile 10-14: itereaza fiecare interval din intervals, si pentru fiecare interval, fa acele copieri de date daca se intrunesc acele conditii PS: = e o copiere de date |
|
#16
Posted 08 December 2017 - 21:49
Incearca si vezi ce iese. Imagineaza-ti si alte intervale apoi, neaparat si unele disjuncte.
|
#17
Posted 08 December 2017 - 22:02
Mda; codul din postul #1 nici nu l-ai compilat! Cine e B din if?
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users