Ir para conteúdo
Fórum Script Brasil
  • 0

Caça Palavras


ojoaootavio

Pergunta

http://olimpiada.ic.unicamp.br/pratique/pr...2/caca_palavras

Estou resolvendo esse problema e preciso terminar até a 3 feira

já fiz essa parte

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

FILE *abreArquivo(char *arq, char *tipo){

//função para abrir arquivo. Retorna NULL caso não consiga abrir o arquivo

FILE *pFile = fopen(arq, tipo);

if (pFile==NULL){

printf("Arquivo %s não encontrado!", arq);

}

return pFile;

}

void fechaArquivo(FILE *pFile){

fclose(pFile);

}

char *mat, **pal, palavra[30];

char n;

int i, j, lin, col, nPal;

void parsingArquivoEntrada(char *arq){

//Abre arquivo para leitura

FILE *pFile = abreArquivo(arq, "r");

if (pFile){

fscanf(pFile, "%d*c", &lin);

fscanf(pFile, "%d*c", &col);

fscanf(pFile, "%d*c", &nPal);

mat = (char*) malloc(lin*col*sizeof(char));

pal = (char**) malloc(nPal*sizeof(char));

//para acessar a matriz definida com um vetor tem que usar o calculo

//linha_acessar * colunas_matriz + coluna_acessar

for (i=0; i < lin; i++){

for (j=0; j < col; j++){

fscanf(pFile, "%c", &mat[i*col+j]);

}

fscanf(pFile, "%c", &n);

}

for (i=0; i < nPal; i++){

fgets(palavra, 30, pFile);

fscanf(pFile, "%s", palavra);

pal = malloc (strlen(palavra) * sizeof(char));

strcpy(pal, palavra) ;

printf("%s\n", pal);

}

for(i=0;i<lin;i++){

printf("\n\n");

for(j=0;j<col;j++){

printf(" %c ", mat[i*col+j]);

}

}

printf("\n\n\n");

/* while (!feof(pFile)){

fscanf(pFile, "%c", &n);

printf ("%c", n);

}

*/

//Fecha arquivo

fechaArquivo(pFile);

}

}

void gravaArquivoSaida(char *arq, char *string){

//Abre arquivo para leitura

FILE *pFile = abreArquivo(arq, "w");

if (pFile){

fprintf(pFile, "%s", string);

//Fecha arquivo

fechaArquivo(pFile);

}

}

int main(int argc, char* argv[]){

char *str;

if (argc < 3){

printf("Ow mane, esqueceu de um parametro de entrada!\n");

return 0;

} else {

parsingArquivoEntrada(argv[1]);

str = "Teste 1\n0 1 2 3 4 5\n6 7 8 9 10\nfim";

gravaArquivoSaida(argv[2], str);

str = "Teste 2\n0 1 2 3 4 5\n6 7 8 9 10\nfim";

gravaArquivoSaida(argv[2], str);

}

return 0;

}

A entrada é

8 11 8

abcdefghigg

hebkwaldork

ftyawaldorm

ftsimrlqsrc

byoarbedeyv

klcbqwikomk

strebgadhrb

yuiqlxcnbjf

waldorf

bambi

betty

paralelepipedo

dagbert

frod

rebelde

amarrar

como prossigo com o código, alguém pode me ajudar a terminar?

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...