]> git.llucax.com Git - z.facultad/75.06/jacu.git/commitdiff
Reemplazo printf() por fprintf(stderr) para hacer pruebas.
authorLeandro Lucarella <llucax@gmail.com>
Sat, 19 Jun 2004 23:57:49 +0000 (23:57 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sat, 19 Jun 2004 23:57:49 +0000 (23:57 +0000)
Ahora el ejecutable de prueba toma los datos por la entrada estandar (solo los
primeros BUFSIZ caracteres) para poder hacer pruebas mas facil combinando los
distintos algoritmos a traves de pipes.
Para ejecutar el ejemplo original seria: echo RDARCAAAABB | ./mtf
(espero que no les moleste mucho, si no lo vuelvo para atras y hago un fork)

otros/mtf/main.c
otros/mtf/mtf.c

index 7dd8ef5da0a954cfb9cdd7f9f5ddb8e7b2bb7a3a..3ef990eb243b0bbc38f40a6eca3b4a52f2787a05 100644 (file)
@@ -5,23 +5,22 @@
 
 int main(int argc, char *argv[] )
 {
-       char dato[20];
-       char *z;
-       int i, *pos;
-       int len = 11;
-       int size;
-       
-       strcpy( dato,"RDARCAAAABB");
+       int buff[BUFSIZ];
+       int *pos;
+       int len;
+       int i;
+
+       len = fread(buff, 1, BUFSIZ, stdin);
+       buff[len] = '\0';
+
+       pos = jacu_mtf(buff, len);
 
-       /*printf("la posicion de R es: %d\n",get_pos(z, len, 'R'));*/   
-       pos = jacu_mtf(dato, len);
-       
        for(i=0; i<len; i++)
                printf("%d ", pos[i]);
        printf("\n");
-       
-       /* XXX free(z); <-- NUNCA SE USA! */
+
        free(pos);
-       
-return 0;
+
+       return 0;
 }
+
index efd2b72f7af0ed46586e42b1f9ce832229f58700..993b9dabe858b01e337e25d1907e376621740ff5 100644 (file)
@@ -12,8 +12,8 @@ void print_z(char *z, int len)
 {
        int i;
        for(i=0; i<len; i++)
-               printf("%c", z[i]);
-       printf("\n");
+               fprintf(stderr, "%c", z[i]);
+       fprintf(stderr, "\n");
 }
 
 int comparar(const void *d1, const void *d2)
@@ -34,18 +34,18 @@ int *jacu_mtf(char *datos, int len)
        
        pos = (int*)malloc(len*sizeof(int));
        z = jacu_buscar_z(datos, len, &size);
-       printf("Z original = ");
+       fprintf(stderr, "Z original = ");
        print_z(z, size);
-       printf("SIZE = %d\n", size);
+       fprintf(stderr, "SIZE = %d\n", size);
        /*z[0]='A';z[1]='B';z[2]='C';z[3]='D';z[4]='R';*/
        /* Ordeno */
        qsort(z, size, 1, comparar);
-       printf("Z ordenado = ");
+       fprintf(stderr, "Z ordenado = ");
        print_z(z, size);
 
        for(i=0; i<len; i++){
                pos[i] = get_pos(z, size, datos[i]);
-               printf("vino %c emiti: %d\n",datos[i], pos[i]);
+               fprintf(stderr, "vino %c emiti: %d\n",datos[i], pos[i]);
                if (pos[i] != 0) 
                        pop_front(z,pos[i]);
                print_z(z, size);