infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Plesa Mihail Iulian din Ianuarie 15, 2011, 16:01:13



Titlul: cmmdc
Scris de: Plesa Mihail Iulian din Ianuarie 15, 2011, 16:01:13
Salut!
Am facut programul:

Cod:
#include <iostream.h>
int main()
{int a,b,r;
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
if(a>b)
{r=a;
a=b;
b=r;}
while(a!=0)
{r=a%b;
a=b;
b=r;}
cout<<a;}

Imediat dupa ce introduc valorile (a;b) programul se intrerupe. Ma puteti ajuta va rog frumos?
Mesajul ce apare imediat dupa intrerupere spune " daca esti in mijlocul a ceva, informatiile cu care lucrezi au fost pierdute".

Multumesc!

Modificat de Moderator: Foloseste tag-ul [ code ] ... [ / code ] cand vrei sa scrii cod sursa!


Titlul: Răspuns: cmmdc
Scris de: Simoiu Robert din Ianuarie 15, 2011, 16:09:56
1. Incearca sa nu mai folosesti headere vechi, adica cu extensia .h, inlocuieste-l cu iostream si cu namesapce-ul std
2. Nu are rost sa faci acel if, deoarece in while oricum ti le intoarce el automat.
3. Eroarea ti se trage de la conditia while-ului, trebuie atata timp cat B != 0, nu A != 0, deoarece in A tii rezultatul.


Titlul: Răspuns: cmmdc
Scris de: CHERA Laurentiu din Ianuarie 16, 2011, 00:14:09
Nu trebuia sa pui while(!b)?
Incearca aici (http://infoarena.ro/job_detail/153481?action=view-source).


Titlul: Răspuns: cmmdc
Scris de: Robert Badea din Ianuarie 16, 2011, 16:52:21
Problema nu este de la cod (cred), este de la modul cum îți rulezi tu programul, și anume modul Debug, care verifică doar dacă programul a ajuns cu bine la sfârșit, vezi că trebuie să fie undeva Run without debug, de obicei e CTRL+F5.

PS: Data viitoare folosește [code ][ /code]