Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Cmmdc interativ si recursiv.  (Citit de 24129 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
JohnnyUCV
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« : 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  Smile


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();
   }    
                        
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #1 : Martie 19, 2013, 08:45:04 »

De ce ai avea nevoie de conio.h? Scoate Smile Apoi, daca tot ai trimis o sursa in C++, conformeaza-te standardelor http://en.cppreference.com/w/cpp/header. Bafta!
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #2 : 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 de puncte sau mai pune intrebari.
Memorat

Am zis Mr. Green
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines