Jump to content

DFR

LinkManiac
  • Posts

    1,258
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by DFR

  1. Oglinditul unui numar

    int oglindit(int x)
    {
      int p;
      p=0;
      do
      {
        p=p*10+x%10;
        x=x/10;
      }while(x!=0);
      return p;
    }
    

    n factorial program (n!)

    int factorial(int n)
    {
      int i,p;
      p=1;
      for(i=1;i<=n;i++)
        p=p*i;
      return p;
    }
    

    Trecerea unui numar din baza 10 in baza x

    void baza(int n,int x) // n=numarul , x=baza in care dorim sa mutam (acestea se citesc global sau local in main daca nu lucrati cu alte subprograme care necesita aceste variabile)
    {
       long y,aux,nr;
       aux=nr=0;
       y=n;
       do
       {
         aux=aux*10+y%x;
         y=y/x;
       }while(y!=0);
        cout<<aux<<endl;;
        do
        {
          nr=nr*10+aux%10;
          aux=aux/10;
        }while(aux);
         cout<<"numarul "<<n<<" in baza "<<x<<" este: "<<nr;
    }
    

    Data viitoare o sa postez algoritmi pe care ii putem folosii pentru sortare !

    • Upvote 1
  2. Cel mai mare divizor comun a doua numere.

    int cmmdc(int x,int y)
    {
      int r;
      r=x%y;
      while(r)
      {
       x=y;
       y=r;
       r=x%y;
      }
    return y;
    }
    

    Numarul de aparitii al unei cifre x intr-un numar.

    int aparitii(int x, int n) // x si n sunt citite dinainte , acesta fiind un subprogram ce returneaza o valoare.
    {
      int nr=0,c;
      while(n!=0)
      {
        c=n%10;
        if(c==x)
          nr++;
        n=n/10;
      }
      if(nr!=0)
       return nr;
      else return 0;
    }
    

    Produsul numerelor naturale impare mai mici sau egale cu o valoare data n.

    int prodimp(int n)
    {
      int p,i;
      p=1;
      i=1;// sau i=2 in cazul numerelor pare
      while(i<=n)
      {
        p=p*i;
        i=i+2;
      }
      return p;
    }
    
    • Upvote 1
  3. In acest topic o sa postez din cand in cand , diferiti algoritmi care pot fi utilizati in diferite exercitii in limbajul de programare C++ . O sa incep cu lucrurile mai simple , urmand ca in timp sa adaug si alti algoritmi mai complexi. Oricine e bine venit sa posteze un algoritm cunoscut , dar sa fie in limbajul de programare C++

     

    Determinarea unui numar daca este palindrom.

    int palindrom(int x)
    {
       int c,im=0,y;
       y=x;
       while(y!=0)
       {
         c=y%10;
         y=y/10;
         im=im*10+c;
       }
       if(im==x)
         return im;
    }
    

    Aflarea celei mai mari cifre a unui numar.

    int cifmax(int x)
    {
      int c,max=-32000;
      while(x!=0)
      {
        c=x%10;
        x=x/10;
        if(c>max)
          max=c;
      }
       return max;
    }
    

    Ordonarea unui vector crescator folosind 2 for-uri.

    void ordonare()
    {
      int i,j,aux;
      for(i=1;i<n;i++)
        for(j=i+1;j<=n;j++)
          if(v[i]>v[j])
          {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
          }
    }
    
    //v[100] il declarati global pentru a-l putea recunoaste pe cel citit la inceput.
    
    • Upvote 1
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...