Binarny min max - oparty sortowanie przez zliczanie zliczaniu
Kod był wyświetlany 1636 razy.
    /*
  Name: Binarny min max - oparty sortowanie przez zliczanie zliczaniu
  Copyright: GPL GNU
  Date: 21-04-10 18:38
  Description: 
*/

#include <iostream>
#include <math.h>
#include <string>
using namespace std;
int main()
{
   string bin;   // Deklaracja zmiennych,zmiennych pomocniczych
   int n,i,j,k,l;// oraz ciągu znaków
   l=0;          //
   cout<<"Podaj ile liczb ma wygenerowac generator(max 256):  ";
   cin>>n;
   int tab[256]; //Deklaracja
   int tabp[256];// Tablicy głównej i Tablicy pomocniczej
   srand((unsigned)time(NULL));        //
   for(i=0;i<n;i++)                    //Generowanie liczb
   {                                   //pseudolosowych
                   tab[i]=rand()% 256; //do tablicy
  
   }
   cout<<endl;
   for(i=0;i<n;i++)
   {
                   bin='|';                        //
                   if (tab[i]==0)                  //
                   bin='0';                        //Zamiana liczb dziesiętnych 
                   k=tab[i];                       //
                   for(j=0;j<10;j++)               //i wypisanie
                   {                               //
                                   if(k%2==0)      //wygenerowanych liczb
                   bin='0'+bin;                    //
                   else bin='1'+bin;               //binarnych
                   k=k/2;                          //
                   }                               //
                    cout<<bin<<"\t";               //
                   }
   for(i=0;i<256;i++)                   //
   tabp[i]=0;                           //Sortowanie tablicy
   for(i=0;i<n;i++)                     //
   tabp[tab[i]-1]=1;                    //poprzez
   j=0;                                 //
   for(i=0;i<256;i++)                   //zliczanie
   for(j=0;j<tabp[i];j++)               //
   tab[l++]=i+1;                        //
   cout<<endl<<"Min to:";// Wypisanie Min
   // cout<<tab[0]<<endl;
   bin='|';
   k=tab[0];
   if (n==0)
   bin='0'; 
                   for(j=0;j<10;j++)
                   {
                                   if(k%2==0)
                   bin='0'+bin;
                   else bin='1'+bin;
                   k=k/2;}
                   cout<<bin<<"\n";
   cout<<"Max to:"; // Wypisanie Max
   //cout<<tab[n-1]<<endl;
   bin='|';
   k=tab[n-1];
   if (n==0)
   bin='0'; 
                   for(j=0;j<10;j++)
                   {
                                   if(k%2==0)
                   bin='0'+bin;
                   else bin='1'+bin;
                   k=k/2;}
                   cout<<bin<<"\n";
   system("pause");
   }
    
Pobierz plik tekstowy
Administrator WJL
PHP&SQL coded by NOVA-IT