Ola, sou novo no forum então se eu estiver postanto algo de errado por favor me avise.
Tenho que fazer um programa que o usuario digite a ordem de uma matriz, faça a leitura dos elementos e faça a soma dos mesmos. Quando eu compilo ou o programa trava ou da uns valores estranhos [ creio que seja valores de memoria]
#include <stdio.h>
#include <stdlib.h>
int ** criaMatriz (int l, int c)
{
int ** aux;
aux = (int **) malloc (l * sizeof (int *));
int i;
for (i = 0; i < l; i ++)
{
*(aux + i) = (int *) malloc (c * sizeof (int));
}
return aux;
}
void leiaMatriz (int **mat, int l, int c)
{
int i,ii;
printf ("digite o numero de linhas e o numero de colunas \n");
scanf ("%d %d",&l,&c);
mat = criaMatriz (l,c);
for (i = 0; i < l; i++)
{
for (ii = 0; ii < c; ii++)
{
printf ("digite o valor para a posicao A %d%d \n",i,ii);
scanf ("%d",&mat [i] [ii]);
}
}
}
int somaMatriz (int **mat, int l, int c)
{
mat = (int **) malloc (c * sizeof (int* ));
int i,ii,soma;
soma = 0;
for (i = 0; i <= l; i ++)
{
for ( ii = 0; ii <= c; ii ++)
{
soma = soma + *((*mat + i)+ii);
}
}
return soma;
}
int main ()
{
int **mat;
int l,c,i,ii,soma;
mat = (int **) malloc (c * sizeof (int *));
leiaMatriz (mat,l,c);
soma = somaMatriz (mat,l,c);
printf ("soma e %d\n",soma);
system ("pause");
free (mat);
return 0;
}
Question
gustavo.rotondo
Ola, sou novo no forum então se eu estiver postanto algo de errado por favor me avise.
Tenho que fazer um programa que o usuario digite a ordem de uma matriz, faça a leitura dos elementos e faça a soma dos mesmos. Quando eu compilo ou o programa trava ou da uns valores estranhos [ creio que seja valores de memoria]
creio que o erro esteja emalguém poderia me ajuda? Obrigado desde já
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.