ajutor algoritm

Această secţiune se ocupă cu programarea, fără a ţine cont de limbaj. Dacă vrei (sau trebuie) să înveți algoritmică, aici este locul potrivit. Descrieri şi idei de algoritmi, algoritmi clasici și întrebări pe baza acestora, toate vor fi postate aici.

ajutor algoritm

Postby getlow12 » 11 Oct 2011, 22:01

Salut tuturor. Am inceput la scoala algoritmica si nu as fi postat daca as fi avut timp.
Enuntul e asa: "Se citesc trei cifre x, y, z. Alcatuti un algoritm care sa afiseze numarul de trei cifre cu cifrele in ordine crescatoare (x este diferit de y si y este diferit de z)."
Avem voie sa folosim doar structura liniara si pe cea decizionala.
nu vreau algoritmul complet doar cum si ce conditie sa pun.
0,0p / 0 votes
"Hacking is an ART and we are the ARTist"
User avatar
getlow12
Bit
 
Joined: 04 May 2011
Status: 0

Re: ajutor algoritm

Postby eni4ever » 11 Oct 2011, 22:19

Hai să vedem : tu cum ai etapiza problema ta ? Urmărește șablonul acesta :
  • intrare
  • procesare
  • afisare(iesire)
0,0p / 0 votes
Image

"Rațiunea vine în umbre scurte numite suferințe." Victor Adăscăliței
"Bender: Anything less than immortality is a complete waste of time.
Zoidberg: Then suicide it is! Step into my office ..." Futurama S06E06
User avatar
eni4ever
DWord
 
Joined: 03 Jan 2010
Location: Timișoara
Status: 57.83

Re: ajutor algoritm

Postby new_luca » 12 Oct 2011, 02:15

Eu nu prea ma pricep asa bine dar ideea mea de novice ar fi sa gasesti minimul si maximul dintre acele trei cifre si sa afisezi pe rand : cifra minima, cifra care nu e nici maxim nici minim si ultima data cifra maxima.
0,0p / 0 votes
Image
User avatar
new_luca
Byte
 
Joined: 03 Jul 2011
Location: Gaesti
Status: 12

Re: ajutor algoritm

Postby getlow12 » 12 Oct 2011, 10:54

Pai la etapizare m-am gandit asa:
Intrare x,y,z
Procesare Aici e problema mea.Eu m-am gandit tot la fel ca si new_luca sa aflu care e cel mai mare cifra nici mare nici mai mica si cifra cea mai mica.Dar nu realizez cum sa scriu acest lucru logic in algoritm.Am incercat sa scriu ceva de genu:'daca x<y<z atunci scrie 'nr este xyz' si apoi cu altfel sa scriu si celelalte conditii dar nu stiu daca e bine
Iesire numarul cu cifrele in ordinea crescatoare.
0,0p / 0 votes
"Hacking is an ART and we are the ARTist"
User avatar
getlow12
Bit
 
Joined: 04 May 2011
Status: 0

Re: ajutor algoritm

Postby DarkByte » 12 Oct 2011, 11:56

getlow12 wrote:nu vreau algoritmul complet doar cum si ce conditie sa pun.

Cam asta e tot algoritmul.

Hai sa vedem ...

Folosim 3 variabile, a, b si c, in care vom retine cifrele in ordine crescatoare ("a" va avea cifra cea mai mica, iar "c" va avea valoarea cea mai mare).

  1. DACA (x > y)
  2.   ATUNCI
  3.     DACA (y > z)
  4.       ATUNCI b = z
  5.       ALTFEL b = y
  6.   ALTFEL
  7.     DACA (x > z)
  8.       ATUNCI b = x
  9.       ALTFEL b = z


Asta ar fi o varianta pentru a determina valoarea lui "b" - cifra din mijloc. Te descurci de aici ?

Bafta
0,0p / 0 votes
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: ajutor algoritm

Postby getlow12 » 13 Oct 2011, 22:40

L-am rezolvat.ne-a aratat in clasa profu sa inteleaga toata lumea.
Acum am altul:"Se citesc de la tastatura coordonatele colturilor unui dreptunghi si coordonmatele unui punct E.Verificati daca punctul se afla in interior,in exterior sau pe dreptunghi"
Ca date de intrare am coordonatele:x1,y1,x2,y2,x3,y3,x4,y4,x5,y5(primele partru perechi pentru dreptunghi si ultima pereche pentru punct.profesorul a zis ca dreptunghiul este asesat normal deci x1=x2 si x3=x4 y1=y2 si y3=y4.cel putin asa cred la noi nu prea am facut acest gen de probleme.)
La procesare: m-am gandit,desi nu stiu cat de corect este,sa iau distantele de la instersectia diagonalelor dreptunghiului(sa zicem O),adica de la O la un varf,de la O la o latime si de la O la o lungime iar apoi,daca distantele sunt mai mici,egale respectiv mai mari punctul se afla in interior,pe dreptunghi sau in exterior.Problema mea ca nu stiu daca e corect: 'centrul' dreptunghiului nu este citit ci trebuie aflat( nu stiu cum) iar distanta dintre centru si E (nici pe asta nu stiu cum sa o aflu).

Am facut o problema asemanatoare cu un cerc dar acolo se dadea coordonatle centrului si raza iar dinstanta dintre centru si punct era apoi ramanand doar sa comparam.
0,0p / 0 votes
"Hacking is an ART and we are the ARTist"
User avatar
getlow12
Bit
 
Joined: 04 May 2011
Status: 0

Re: ajutor algoritm

Postby serj » 13 Oct 2011, 23:07

Ce imi vine acuma in minte..
Acel punct se afla in interiorul dreptunghiului daca suma ariilor celor trei triunghiuri (determinate de acest punct,respectiv alte 2 ale dreptunghiului ) este egala cu aria dreptunghiului. E in exterior,daca suma nu este egala.
Ca sa verifici daca se afla pe dreptunghi: faci ecuatiile dreptelor pentru fiecare latura a dreptunghiului,si, daca pentru coordonatele punctului se verifica vreuna,asta e...
0,0p / 0 votes
Image
User avatar
serj
Bit
 
Joined: 12 Oct 2011
Status: 0

Re: ajutor algoritm

Postby getlow12 » 17 Oct 2011, 10:19

Mi-am dat seama cum sa il fac pe cel cu dreptunghiul si era chiar f. simplu. Dar acum am inca ceva. Daca am coordonatele varfurilor unui triunghi si ale unui punct exterior E, cum pot verifica daca este in int, pe sau in exterior?
0,0p / 0 votes
"Hacking is an ART and we are the ARTist"
User avatar
getlow12
Bit
 
Joined: 04 May 2011
Status: 0

Re: ajutor algoritm

Postby cata45 » 17 Oct 2011, 13:47

Se rezolva in mod asemanator... Daca este in interior se formeaza 3 triunghiuri si verifici daca suma ariilor celor 3 triunghiuri este egala cu aria triunghiului mare.
0,0p / 0 votes
The EARTH without ART is just EH.
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Status: 9

Re: ajutor algoritm

Postby getlow12 » 17 Oct 2011, 19:27

Poti detalia pentru ca eu pe cea cu dreptunghiul nu am rezolvat-o folosind ariile.
  1. citeste x,y,x1,x2,y1,y2
  2.           daca (x>x1) si(x<x2) sau (y>y2) si (y<y1) atunci
  3.                                        scrie "Punctul este in interior"
  4.               altfel
  5.                   daca (x<x1) sau (x>x2) sau (y<y2) sau (y>y1) atunci
  6.                                        scrie "Punctul este in exterior
  7.                                                    altfel
  8.                                        scrie"Punctul este pe dreptunghi"  
0,0p / 0 votes
"Hacking is an ART and we are the ARTist"
User avatar
getlow12
Bit
 
Joined: 04 May 2011
Status: 0

Re: ajutor algoritm

Postby cata45 » 18 Oct 2011, 07:14

Nu ai o rezolvare corecta... acolo trebuie:
  1. daca (x>x1) si(x<x2) si (y>y2) si (y<y1) atunci
  2.                                        scrie "Punctul este in interior"


Pentru problema cu triunghiul:
Sa presupunem ca avem un triunghi ABC si un punct M. Daca punctul M se afla in interiorul triunghiului ABC atunci AAMB+AMBC+AMAC=AABC. Aria triunghiului o poti calcula cu formula lui Heron (http://en.wikipedia.org/wiki/Heron's_formula) . Se mai poate calcula si cu determinanti dar nu stiu daca intelegi.
0,0p / 0 votes
The EARTH without ART is just EH.
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Status: 9

Re: ajutor algoritm

Postby getlow12 » 18 Oct 2011, 10:23

Cata45 da ai dreptate acolo era 'si'.Referitor la cea cu triunghiul eu am facut ceva o sa il scriu diseara sa vezi cum dar din ce am facut am realizat ca punctul poate fi in interior sau in exterior pentru ca daca ar fi pe laturi un triunghi ar avea aria 0.E corect?
LE:Dupa ce fac calculele cand fac structura decizionala o fac in felul urmator?
  1.   Daca A1+A2+A3=A4 atunci
  2.                                 scrie "Punctul este in interior"
  3.                                     altfel
  4.                                 daca A1+A2+A3>A4 atunci
  5.                                                       scrie"Punctul este in exterior"
  6.                                                               altfel
  7.                                                       scrie"Punctul este pe triunghi"


A1,A2,A3 sunt ariile dintre punct si varfurile triunghiului si A4 este aria triughiului format de coordonate.
0,0p / 0 votes
"Hacking is an ART and we are the ARTist"
User avatar
getlow12
Bit
 
Joined: 04 May 2011
Status: 0

Re: ajutor algoritm

Postby cata45 » 18 Oct 2011, 13:46

Punctul M poate fi pe una din laturi si cand A1+A2+A3=A4. De ex: daca M este pe latura BC atunci aria lui MBC este 0, aria lui MAB este>0 si aria MAC>0 si MAB+MAC+0=ABC. Punctul M este pe latura daca cel putin un triunghi dintre cele formate cu M (AMB BMC MCA) are aria 0 si suma ariilor AMB+BMC+MCA=aria lui ABC.
0,0p / 0 votes
The EARTH without ART is just EH.
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Status: 9

Re: ajutor algoritm

Postby getlow12 » 18 Oct 2011, 21:24

Da cata am inteles.Asta inseamna ca va veni:
  1. Daca A1+A2+A3=A4 atunci
  2.                     scrie "Punctul este in interior"
  3.                             altfel
  4.                        daca A1+A2+A3>A4 atunci
  5.                                        scrie"Punctul este in exterior"
  6.                                                       altfel
  7.                    daca A1=0 sau A2=0 sau A3=0 si A1+A2+A3=A4 atunci
  8.                                                       scrie"Punctul este pe triunghi"
0,0p / 0 votes
"Hacking is an ART and we are the ARTist"
User avatar
getlow12
Bit
 
Joined: 04 May 2011
Status: 0


Return to Algoritmică

Who is online

Users browsing this forum: No registered users and 0 guests