Jump to content
Sign in to follow this  
pessantiago

ajuda como meter linhas e colunas

Recommended Posts

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');
}

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.