Unbreak4ble / puzzle-word-search-algorithm

Algoritmo para resolver caça palavras

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

descrição

Criei esse algoritmo para resolver problemas de caça palavras da escola

manual

estruturas

• words_t

struct {
	vecstr words;
	integer begin_pos;
	integer end_pos;
} words_t;

• integer

struct {
	int *values;
	size_t size;
} integer;

• vecstr

struct {
	string array;
	integer eachsize;
	size_t size;
	int len;
} vecstr;

• string

typedef string char*

funções #table.h

• Table maketable(int v, int h)

cria uma tabela (v)vertical x (h)horizontal.

• void free_t(Table*)

Elimina a tabela da memória.

• void clone_t(Table*, Table)

Cópia uma tabela para a outra.

• void printTable(Table)

imprime a tabela.

• void add_tval(Table*, char)

adiciona um caractere a tabela.

• int get_tlen(Table*)

Obtem tamanho da tabela.

• void set_tval(Table*, char, int v, int h)

define um caractere em uma posição v e h.

• char get_tval(Table*, int v, int h)

obtem o caractere na posição v e h.

• void add_more_tval(Table*, int, char ...)

Variadic function, serve para adicionar mais caractere a tabela, o segundo argumento se trata do tamanho de caracteres a ser adicionado.

• int* toXY_t(Table, int)

Converte a posição (número passado pelo segundo argumento) para posições bidimensional.

funções #puzzle_ws.h

• void fillrand_t(Table*, char*)

preenche a tabela com caracteres aleatórios contido no segundo argumento.

• words_t findwords_t(Table*, vecstr)

busca por palavras na tabela.

• int getword_len_t(words_t)

Obtem a contagem de palavras achadas

• int* getword_pos_t(Table*, int)

obtem a posição inicial e a final. Retorna um array onde o primeiro valor é a posição inicial e a segunda (e última) é a posição final.

• string getword_t(words_t, int)

obtem a palavra achada pela posição passada no segundo argumento.

• int* toXY(words_t, int)

Converte a posição (número do segundo argumento) para posições bidimensional.

• void free_words_t(words_t*)

Elimina os dados do ponteiro na memória.

• string getword_slide_t(words_t, int)

Obtem a direção da palavra achada.

funções #arrstr.h

• vecstr makevecstr()

Cria um vetor de string.

• void append_vecstr(vecstr*, string)

Adiciona uma string para o vetor.

• int get_lenstr(vecstr*, int)

Obtem o tamanho da string na posição.

• int get_lenvecstr(vecstr*)

Obtem as posições do vetor.

• int get_sizevecstr(vecstr*)

Obtem o tamanho do vetor.

• string get_vecstr(vecstr*, int)

Obtem a string do vetor pela posição.

• void free_vecstr(vecstr*)

Elimina o vetor da memória.

• void print_vecstr(vecstr)

Imprime o vetor.

About

Algoritmo para resolver caça palavras

License:MIT License


Languages

Language:C 100.0%