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

Dúvida do trabalho da faculdade!


Dourado

Pergunta

boa tarde a todos,

Sou novo aqui no fórum e estou com dúvida em como "construir" uma matriz de ordem nxn, onde o usaurio vai determinar o tamanho desta.

Primeiramente eu queria um menu ( com switch mesmo) e dentro deste eu chamaria funções que faça determinadas ações, mas neste momento eu gostaria uma função para criar esta matriz (inicialmente vazia) e "dar" o display na tela desta.

o menu será construido por incluir,excluir,alterar(modificar) dados( no caso numeros) , estes dados terá um tamanho, que o usuario dirá quanto é (em MB ou KB) ou que vocês julgarem melhor!

Segue o código que tenho, por favor qualquer linha de código que vocês acharem desnecessária ou que precisa adicionar, fiquem a vontade!

#include<stdio.h>
#include<stdlib.h>

int main () {

     int **matriz;   /* ponteiro para os ponteiros de cada uma das linhas */
     int lin, col;   /* número de linhas e colunas */
     int i, j;
     int linha1, linha2; /* linhas da matriz que serao trocadas */
     char linha[80]; /* linha de caracteres com os dados */
     int *temp;

     do {
        puts("Qual o numero de linhas?");
        gets(linha);
        lin = atoi(linha);
     } while (lin<=0);
     printf("Numero de linhas = %d\n", lin);
     printf("Alocando espaço para armazenar os ponteiros para as linhas.\n");
     matriz = (int **) malloc (lin * sizeof(int *));
     if (!matriz) {
        puts("não há espaço para alocar memória");
        exit(1);
     }

     do {
        puts("Qual o numero de colunas?");
        gets(linha);
        col = atoi(linha);
     } while (col<=0);
     printf("Numero de colunas = %d\n", lin);
     printf("Alocando espaço para armazenar os vetores de linhas.\n");
     for (i=0; i<lin; i++)
     {
        *(matriz +i) = (int *) malloc(col * sizeof (int));
        if (! *(matriz+i) ){
           printf("Não há espaço para alocar a linha %d", i);
           exit(1);
        }
     }
     puts("Entre com os dados");
     for (i=0; i<lin; i++)
     {
        printf("Entre com a linha %d\n", i);
        for (j=0; j<col; j++)
        {
            printf("Elemento %d %d\n", i, j);
            scanf("%d", *(matriz +i) +j);
        }
     }
     puts("Dados lidos");
     for (i=0; i<lin; i++)
     {
        for (j=0; j<col; j++)
        {
            printf("%7d ", *(*(matriz +i) +j));
        }
        printf("\n");
    }
    
}

Obrigado pela atenção de todos!

Caso esteje desreipetando alguma regra de postagem me desculpem, só sinalisar que eu corrijo!

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...