Ir ao conteúdo

Função que retorna o valor máximo de uma matriz


felipe-rj

Posts recomendados

Postado

Boa noite!

Fiz o código abaixo em que uma matriz NxN é alocada dinamicamente e depois é chamada uma função que verifica o valor máximo da matriz e retorna para o programa principal.

O código está compilando, mas ao invés de retornar o valor máximo, está retornando endereço de memória. Alguém sabe como resolver isso??

Agradeço desde já!


/* 4. Escreva uma função que receba uma matriz de dimensão NxN como parâmetro e
retorne o valor máximo armazenado na matriz, isto é, retorne o valor do maior
elemento. A função deve ter o seguinte cabeçalho:
double maximo ( double *A , int n); */

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

double maximo (double *A, int n)
{
double maior;
int i, j, k=0;
maior = A[k];
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
k=i*n+j;
if (A[k] > maior)
maior = A [k];
}
}

return maior;
}

int main ()
{
double *A, maior;
int n, i, j;
printf ("Digite o valor de n: ");
scanf ("%d", &n);
A = (double*) malloc (n*n*sizeof(double));
if (A == NULL)
{
printf ("Espaco insuficiente na memoria.\n");
exit (1);
}
for (i=0; i<n; i++){
for (j=0; j<n; j++){
printf ("Digite o valor da linha %d, coluna %d: ", i, j);
scanf ("%g", &A[i*n+j]);
}
}
maior = maximo (A, n);
printf ("O valor maximo armazenado na matriz e %g.\n", maior);
free(A);
system ("pause");
return 0;
}

Postado

creio que seja pelo caso de você estar usando o malloc na variavel/matriz A e ela ira receber o numero deste endereço.

e depois a variavel Maior estará recebendo o valor desse endereço (o numero do endereço)

pois ela é um ponteiro desse endereço.

creio que seja isso.

Postado

O problema era o compilador que não estava reconhecendo o %g na função scanf, trocando para %lf funcionou.

Tirei a dúvida com minha professora na aula, mas obrigado pela resposta.


scanf ("%lf", &A[i*n+j]);

Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!