Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

pessantiago

ajuda como meter linhas e colunas

Mensagens Recomendadas

pessantiago

Boas eu gero uma matriz onde fica guardada, agora o problema é o seguinte queria que ela me mostrar a linha e coluna para saber onde ta a 1 linha e 1coluna assim sucessivamente

para ver a matriz do ficheiro tenho o seguinte código e queria por uma numeração para identificar

algo assim do genero

http://3.bp.blogspot.com/_Ib165LeM_28/SwAT7-UZmdI/AAAAAAAABG0/CCIX54cAmT0/s400/ca%C3%A7a+palavras.jpg

void vermatriz () //Vizualiza a matriz gerada.

{
    FILE *fp; //file pointer
    fp = fopen ("matriz.txt", "r"); // Abre o ficheiro apenas para leitura 'r'
    char buffer[1];


    printf("\t"); //para a primeira linha
    while (fread(&buffer, 1, 1, fp) > 0) //lê um caracter de cada vez.
    {

        printf(" %c", buffer[0]);

        if (buffer[0] =='\n') //Verifica se leu um new line, e caso tenha acontecido muda de linha na matriz


        printf("\t\t");
    }

    fclose (fp);      //Fechar o ficheiro
    return 0;
}

Tambem tenho mais um bug que é quando insiro palavra para o ficheiro este em vez de começar na linha 1 começa na linha 2 nao sei pk aqui tem o codigo que faz isso

void alteralista () //Vizualiza a matriz gerada.
{
    printf ("\n\n\nLista gerada\n\n");
    verlista();
    char key;
    int i;
    FILE *fp; //file pointer
    system("cls");
    do
    {
        fflush(stdin);  //limpa o buffer;
        do
        {

            printf("\t\t\t|    Que deseja fazer         |\n");
            printf("\n\t\t\t+-----------------------------+\n");
            printf("\t\t\t+-----------------------------+\n");
            printf("\t\t\t 1-Apagar a lista\n");
            printf("\t\t\t 2-Adicionar nomes a procurar\n");
            printf("\t\t\t 3-Ver lista.txt\n");
            printf("\t\t\t 4-Voltar ao menu principal\n");
            key=getchar();
        }
        while ((key<'1')||(key>'4'));

        switch (key)
        {
        case '1':
            fp = fopen ("lista.txt", "w+"); // Abre o ficheiro apenas para escrita 'w'
            fputc ('\n', fp);
            fclose (fp);      //Fechar o ficheiro
            break;

        case '2':
            fp = fopen ("lista.txt", "a+"); // Abre o ficheiro apenas para escrita '
            char buffer[16];

            do
            {
                do
                {
                   
                    //printf ("Introduza um nome max. 16 letras\n %d");
                    printf ("Introduza 0 para terminar\n");
                    scanf ("%s",&buffer);
                }
                while (strlen(buffer) > 16);
                if (buffer[0] != '0')
                {
                    for (i=0; buffer[i] != '\0'; i++)
                        fputc (buffer[i], fp);

                }
            }
            while (buffer[0] != '0');
            fclose (fp);      //Fechar o ficheiro
            break;

        case '3':
            verlista();
            break;
        }
    }
    while (key != '4');
}

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Localhost

Para mostrar a matriz vais ter de fazê-lo à mão... Depois para pôr as palavras vais ter de percorrer a matriz nas linhas que queres e pôr caracter a caracter.


here since 2009

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.