Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

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.