Titlul: Cmmdc interativ si recursiv. Scris de: Scarlat Ionut Alin din Martie 19, 2013, 01:12:48 Cmmdc interativ si recursiv.
In DevC++ nu are nicio eroare si merge perfect, compilatorul de pe site gaseste erori :) Cod : #include<iostream.h> #include<conio.h> #include<stdio.h> using namespace std; //Varianta iterativa: //Sa presupunem ca avem 2 Numere naturale a si b (nenule), si o variabila c (c natural). Iata pasii algoritmului: //-Se imparte a la b, iar restul impartiri este retinut in c (c=a%b) //-a ia valoarea lui b (a=b) //-b ia valoarea restului impartirii (b=c) //-daca b este diferit de 0 se revine la pasul 1, daca b este 0, cmmdc este a int euclid(int a,int b) { int c; while(b) // cat timp b diferit de 0 { c=a%b; // c = valoarea impartiri lui a la b a=b; b=c; // b = restul impartiri lui a la b } //end while return a; } // end euclid //Varianta recursiva: int euclidrec(int a,int b) { if (b==0) b = a; else euclidrec(b,a%b); } //end euclidrec int main() { int a,b; cout<<"Dati a si b:"; cin>>a>>b; cout<<"Varianta iterativa!"<<endl; cout<<"Cel mai mare divizor dintre "<<a<<" si "<<b<<" este : "<<euclid(a,b)<<endl; cout<<endl; cout<<"Varianta recursiva!"<<endl; cout<<"Cel mai mare divizor dintre "<<a<<" si "<<b<<" este : "<<euclidrec(a,b)<<endl; getch(); } Titlul: Răspuns: Cmmdc interativ si recursiv. Scris de: George Marcus din Martie 19, 2013, 08:45:04 De ce ai avea nevoie de conio.h? Scoate :) Apoi, daca tot ai trimis o sursa in C++, conformeaza-te standardelor http://en.cppreference.com/w/cpp/header. Bafta!
Titlul: Răspuns: Cmmdc interativ si recursiv. Scris de: Paul-Dan Baltescu din Martie 19, 2013, 23:46:30 Evaluatorul e o scula automata care se asteapta ca tu sa citesti numere din fisierul de intrare (in cazul de fata, cmmdc.in) si sa scrii rezultatul in fisierul de iesire (cmmdc.out). Nu e nevoie sa afisezi mesaje prietenoase, pentru ca nu stie sa le interpreteze. De asemenea, nu va apasa "Enter" la final si deci nu ai nevoie de getch. Daca nu ti-e foarte clar ce ai de facut, incearca sa te uiti la surse care au luat 100 (http://infoarena.ro/monitor?task=cmmdc&score_begin=100) de puncte sau mai pune intrebari.
|