Ir ao conteúdo
  • Cadastre-se

Inicializar matriz!


Delemar Neto
Ir à solução Resolvido por ScreenBlack,

Posts recomendados

Boa tarde!

 

 

Criei uma função que serve para inicializar uma matriz de N linhas e 2 colunas, onde N será o numero q o usuário irá informar.

 

Porém não estou conseguindo...

 

Podem me ajudar a encontrar o erro no código?

void inicializarmatriz(float***, int*);int main(){    setlocale(LC_ALL, "Portuguese"); //Resolve problema da acentuação    int quantEleme = 0;    float  **matriz;    inicializarmatriz(&matriz, &quantEleme);}void inicializarmatriz(float* **matriz, int *quantEleme){    int i;    do{        printf("Digite a quantidade de valores dos vetores:");        scanf("%d", quantEleme);    }while(*quantEleme<=0); //trava numero negativo    if ( (**matriz = malloc((*quantEleme) * sizeof(float)) ) == NULL){        printf("Memória insuficiente");        *quantEleme = 0;        return;    }    printf("\nInforme os valores:\n");    for (i=0; i < *quantEleme; i++){        printf("Informe o %d valor do vetor 1: ", i+1);        scanf("%f", &(*matriz)[i][0]);    }    for (i=0; i < *quantEleme; i++){        printf("Informe o %d valor do vetor 1: ", i+1);        scanf("%f", &(*matriz)[i][1]);    }}
Link para o comentário
Compartilhar em outros sites

  • Solução

Primeiro faça a alocação ponteiro para memória no ponteiro inicial da matriz (linhas), depois faça a alocação de memória para o float.

 

    if ( ( *matriz = malloc( *quantEleme * sizeof(float *)) ) == NULL )    {        printf("Memória insuficiente");        quantEleme = 0;        return;    }     for ( i = 0; i < *quantEleme; i++ )    {        if ( ( (*matriz)[i] = malloc( sizeof(float) * 2 ) ) == NULL )        {            printf("Memória insuficiente");            quantEleme = 0;            return;        }    }
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!