]> git.llucax.com Git - z.facultad/75.06/jacu.git/blobdiff - src/blocksorting/main.c
Algunos bugfixes que daba problema con el signo y conversion de char a unsigned...
[z.facultad/75.06/jacu.git] / src / blocksorting / main.c
index f73ed1200c626043e4ddf63f83b615dccbe29ced..3026f5a60032c44b0a19ea4caa1d75be1ff71398 100644 (file)
@@ -1,6 +1,14 @@
 
 #include "bs.h"
 
+void _print_(char *s, size_t len)
+{
+       size_t i;
+       for(i=0; i<len; i++)
+               printf("(%d)", s[i]);
+       printf("\n");
+}
+
 int main(int argc, char *argv[])
 {
        char *data; 
@@ -40,13 +48,24 @@ int main(int argc, char *argv[])
                        c = fgetc(fp);
                        total++;
                }
+               /* lleno data mano! */
+               srand(time(NULL));
+               {
+                       size_t jj;
+                       for(jj=0; jj<i;jj++)
+                               data[jj] = rand()%255;
+               }
+               printf("Leido : ");
+               _print_(data, i);
                bs_solve(data, salida, bs, &k, i);
 
                /* XXX ACA SALIDA DEBERIA PASAR A LA SIGUIENTE ETAPA XXX */
                if (argc == 3) {
-                       printf("BS : %s -> %ld\n", salida, k);
-                       bs_restore(orig, salida, k, i);
-                       printf("Orig : %s\n", orig);
+                       printf("BS : %ld  ", k);
+                       _print_(salida+8, i);
+                       bs_restore(orig, salida+sizeof(Uint32)*2, k, i);
+                       printf("Orig : ");
+                       _print_(orig, i);
                } else
                        fwrite(salida, 1, i, stdout);
        }