Pentru a vă înregistra, vă rugăm să trimiteți un email către administratorul site-ului.
Pune o întrebare

3.6k intrebari

6.8k raspunsuri

15.5k comentarii

2.5k utilizatori

0 plusuri 0 minusuri
1.1k vizualizari
Buna seara,

Cum pot scrie programul de mai jos in Code Blocks (C++)?

Sa se scrie un algoritm pentru a calcula diferenta masurilor a doua unghiuri exprimate in grade/minute/secunde.

Exemplu: pentru 45°20'15" si 30° 45'30" se va afisa: 14° 34' 45"

Multumesc anticipat!
Novice (327 puncte) in categoria Tehnologia Informatiei

1 Raspuns

1 plus 0 minusuri
algoritmul ar trebui sa il faci initial in pseudocod.

Tipul variabilelor ar trebui sa fie de tip structural.

Adica definim o data numita unghi in modul urmator,dupa care definim doua date de tip unghi care le vom citi ulterior de la tastatura sa zicem a si b si mai numim una c care va fi rezultatul scaderi.

struct unghi{int  x,y,z;};

unghi a,b,c;

Cand citesti datele sau lucrezi cu ele se face in modul urmator.a.x,a.y,a.z adica a.x ar fi gradele unghiului a ,a.y minutele si a.z secundele.

Mai departe algoritmul de calcul ,

Daca a.z<bz do c.z=60+a.z-bz //ne imprutam de 60 de sec de la minute// daca a.y>0 atunci a.y=a.y-1 altfel a.y=59 si a.x=a.x-1//scadem minutele cu 1 dar daca e 0  luam de la un grad 60 minute// altfel c.z=a.z-b.z.

Si asa mai departe si in cazul minutelor avand cam aceeasi idee de discutie.Chiar si la grade daca gradele lui a sunt mai mici decat b ar trebui sa fie chiar prima conditie si sa intrerupa tot afisand un mesaj de genul ati introdus unghiuri gresite pe care nu le putem scadea.

In loc de if as sugera sa il faci cu case si sa ruleze un pic pe invers fata de modul cum facem noi.Adica sa incepi cu gradele si daca la minute vezi ca trebuia sa te imprumuti atribui la rezultat o valoare mai mica cu 1 etc.

Spor la treaba .
Experimentat (2.3k puncte)
...