Permutacje liter zawartych w podanym tekscie w porządku leksykograficznym
Kod był wyświetlany 1013 razy.
     /*
Name: Permutacje liter zawartych w podanym tekscie w porządku leksykograficznym
	Copyright: GPL GNU
	Date: 09-03-13 18:05
	Description: 
*/
#include<iostream>
 #include <algorithm>
 using namespace std;
 int main()
  {
   string slowo;
   cout<<"\n\n\tPodaj tekst ";
   cin>>slowo;
  
   
   sort(slowo.begin(),slowo.end());   //sortowanie liter w slowie    
    int n = slowo.length();			  // ustalenie rozmiaru tekstu (liczba znakow)
    int i,j;             			// indeksy znakow zawartych w tekscie
    while (1) 		
	{
       cout<<slowo <<endl;					// wprowadzenie tekstu
       i = n-1;                           
                                         
       while (i>0 && slowo[i-1]>=slowo[i]) 
	   i--;   							// dopóki poprzedni znak jest wiekszy lub rowny biezacemu to pomniejsz wartosc i o 1
       if (i==0) 							
	   break;                   
       j = i;
       while (j<n && slowo[j]>slowo[i-1]) 
	   j++;                                        // szukam NAJMNIEJSZEGO znaku WIEKSZEGO od a[i-1]
       j--;
       swap(slowo[i-1],slowo[j]);                 // wykorzystanie funkcji do zamiany znakow miejscami
      reverse(slowo.begin()+i, slowo.end());     
    }
    return 0;
	}    
Pobierz plik tekstowy
Załączniki
Administrator WJL
PHP&SQL coded by NOVA-IT