Hej, powalczyłem trochę i napisałem funckję pobierającą i zliczającą znaki z pliku txt.
Teraz muszę posortować struktury względem czestotliwośći występowania liter.
// Antczak Kamil 2016-01-25
//POLSL AEiI
//---------------------------
#include "stdafx.h"
#include "string.h"
#include <stdio.h>
struct tree{
struct tree *left;
struct tree *right;
struct tree *dad;
char sign=NULL;
int count=0;
struct tree *next=NULL;
};
void zlicz(tree* head)
{
tree*wsk;
wsk = head;
FILE * plik;
plik = fopen("plik.txt", "r");
int number_letter= NULL;
char letter;
int total=0;
while (number_letter != EOF)
{
letter = getc(plik);
total++;
printf("znak nr %d - %c\n", number_letter, letter);
wsk = head;
while(wsk != NULL)
{
if (letter == wsk->sign)
{
puts("znalazlem litere");
wsk->count += 1;
printf("%d\n\n", wsk->count);
break;
}
else if (wsk->sign == NULL )
{
wsk->next = new tree;
wsk->count += 1;
wsk->sign = letter;
puts("nowa litera, dodaje wezel");
break;
}
else { puts("szukam dalej"); }
wsk = wsk->next;
number_letter = letter;
}
puts("koniec wezlow");
printf("tekst ma %d znakow \n", total);
}
wsk = head;
while (wsk != NULL)
{
printf("znak %c wystepuje %d razy \n", wsk->sign, wsk->count);
wsk = wsk->next;
}
fclose(plik);
}
int main()
{
struct tree *head = new tree;
head -> next = head;
zlicz(head);
int xe;
scanf("%d", &xe);
return 0;
}