Пример #1
0
int main(void) {
	FILE *e = fopen("e12.txt", "r"), *s = fopen("s12.txt", "w");
	char *linha, *invertida = NULL;

	if (e == NULL || s == NULL)
		return EXIT_FAILURE;

	while(true) {
		linha = lerLinha(e);
		if (linha == NULL)
			break;

		invertida = realloc(NULL, sizeof(char) * (strlen(linha) + 1));
		if (invertida == NULL)
			return EXIT_FAILURE;

		inverte(linha, invertida);
		fprintf(s, "%s\n", invertida);
		free(invertida);
	}

	free(linha);

	fclose(e);
	fclose(s);
	return EXIT_SUCCESS;
}
Пример #2
0
int main (int argc, char * argv[]) {
    char * linha, * palavra;
    FILE * f = fopen (argv[1], "r");
    int n, aux = 1, tamanho, altura;
    arvore dic = NULL;
    while (linha = lerLinha (f), linha != NULL) {
        n = 0;
        while (palavra = pegarPalavra (linha, &n), palavra != NULL) {
            if (strlen (palavra) > 2 && isalpha (palavra[0]))
                dic = inserenoh (dic, palavra, aux);
            free (palavra);
        }
        free (linha);
        aux++;
    }
    altura = alturaarvore (dic);
    tamanho = tamanhoarvore (dic);
    printf ("%d %d %d %f\n", tamanho, floorlog2 (tamanho), altura, (double) clock () / CLOCKS_PER_SEC);
    imprimearvore (dic, fopen (argv[2], "w"));
    destroiarvore (dic);

    return 0;
}