Advertisement
Guest User

Untitled

a guest
May 19th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <math.h>
  5. #include <string.h>
  6. #include "fila.c"
  7. #define b 10
  8. int main() {
  9.     int n;
  10.     double d;
  11.     srand(time(NULL));
  12.     printf("digite a quantidade de numeros que voce quer:\n");
  13.     scanf("%d",&n);
  14.     printf("digite a o maior digito presente:\n");
  15.     scanf("%lf",&d);
  16.     int vetorInicial[n];
  17.     for(int j =0;j<n;j++){
  18.         vetorInicial[j]=rand() % (int)pow(10.0,d);
  19.  
  20.     }
  21.     printf("tabela : ");
  22.     for (int i=0;i<n;i++){
  23.         printf("%d ",vetorInicial[i]);
  24.     }
  25.     printf("\n\n");
  26.  
  27.     fila* fila0;
  28.     fila* fila1;
  29.     fila* fila2;
  30.     fila* fila3;
  31.     fila* fila4;
  32.     fila* fila5;
  33.     fila* fila6;
  34.     fila* fila7;
  35.     fila* fila8;
  36.     fila* fila9;
  37.  
  38.     fila* vetorRadix[b]={fila0,fila1,fila2,fila3,fila4,fila5,fila6,fila7,fila8,fila9};
  39.     for (int m = 0; m <b ; m++) {
  40.         vetorRadix[m]=inicializaFila();
  41.     }
  42.  
  43.     int help=1;
  44.     for (int i =d-1;i>=0;i--){
  45.  
  46.         for(int j=0;j<n;j++){
  47.             char str[(int)d+1];
  48.             int k = vetorInicial[j];
  49.             sprintf(str,"%03d",vetorInicial[j]);
  50.             vetorRadix[str[i]- '0']=pushFila(vetorRadix[str[i]- '0'],k);
  51.         }
  52.         printf("Iteração %d : %dª distribuição\n\n",help,help);
  53.  
  54.         for (int l = 0; l <b ; l++) {
  55.             printf("fila %d : ",l);
  56.             exibeFila(vetorRadix[l]);
  57.             printf("\n");
  58.         }
  59.         printf("\n");
  60.  
  61.         int t=0;
  62.         for (int k=0; k<b;k++){
  63.             while (!estaVazia(vetorRadix[k])){
  64.                 vetorRadix[k]=popFila(vetorRadix[k]);
  65.                 int aux = valor;
  66.                 vetorInicial[t]=aux;
  67.                 t++;
  68.             }
  69.         }
  70.         printf("tabela : ");
  71.         for (int i=0;i<n;i++){
  72.             printf("%d ",vetorInicial[i]);
  73.         }
  74.         printf("\n\n");
  75.         help++;
  76.  
  77.     }
  78.     printf("\n*******fim do radix sort*******\n");
  79.  
  80.  
  81.  
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement