vineri, 24 ianuarie 2014

Probleme rezolvate

-Probleme rezolvate-
1. Generarea tuturor permutarilor.


#include <iostream>

using namespace std;

int st[50],n,k; // declaratiile pentru ce este necesar la global


void tipar()                 //functie pentru afisarea solutiei
{int i;
  for(i=1;i<=n;i++)          // un for pentru parcurgere
    cout<<st[i]<<' ';        // si afisarea elementului asezat in stiva
    cout<<endl;

}

int valid(int k)            // functie de verificare
{int i;
  for(i=1;i<=k;i++)
      if(st[k]==i)
        return 0;

        else

        return 1;
}

void back(int k)
{int i;
    if(k==n+1)        // daca s-a ajuns la nivelul n+1 apelam functia de tipar si se va afisa solutia gasita
     tipar();
     else
     for(i=1;i<=n;i++)  // daca nu din multimea de alegere se ia elementul
      {st[k]=i;
    if(valid(k))       // si se verifica daca poate poate fii adaugat la solutie
       back(k+1);        //daca se poate adauga se reia functia cu elementul fixat
      }
}

int main()
{cin>>n; //se citeste n-ul

back(1); // si se apeleaza functia back cu 1;



    return 0;
}
        

Niciun comentariu:

Trimiteți un comentariu

Template developed by Confluent Forms LLC; more resources at BlogXpertise