Problemas com Matrizes em C [RESOLVIDO]

1. Problemas com Matrizes em C [RESOLVIDO]

RCA
RCA_ITA

(usa Ubuntu)

Enviado em 23/06/2009 - 10:35h

Olá pessoal,

estou fazendo um exercícios de C em econtrei algumas dificuldades em relação ao uso de matrizes.

o erro é o seguinte:
gcc programa4.c -o programa4
In file included from programa4.c:2:
matriz.h:3: error: array type has incomplete element type
programa4.c: In function ‘main’:
programa4.c:17: error: type of formal parameter 1 is incomplete
make: ** [programa4] Erro 1

os códigos que geram este erro são os seguintes: programa4.c matriz.h matriz.c , respectivamete.

------------------------------programa4.c-----------------------------------

#include<stdio.h>
#include"matriz.h"

main()
{
int n = 0;


printf("Digite A Ordem da Matriz: ");

do{
scanf("%d",&n);
}while(n<1);

int M[n][n];

matrizIdentidade(M,n);

}

--------------------------------------matriz.h--------------------------------------------
#include<stdio.h>

void matrizIdentidade(int A[][], int ordem);


--------------------------------------matriz.c--------------------------------------------

#include"matriz.h"

void matrizIdentidade(int A[][], int ordem)
{
int i = 0, j = 0;
for(i;i<ordem;i++){
for(i;i<ordem;i++){
if(i == j ){
A[i][j] = 1;
}else
A[i][j] = 0;
}
}
}


Vejam ai, por favor, qual o problema desses código, pois pesquisei na internet a respeito de matriz e não consigo entender qual o erro do meu código




  


2. MELHOR RESPOSTA

Mateus
mtarcinalli

(usa Debian)

Enviado em 23/06/2009 - 13:19h

Até onde eu sei você não consegue definir dinamicamente o tamanho de uma matriz, isto é através de uma variável, como você fez:
int M[n][n];
O mais certo seria definir uma matriz com um tamanho fixo, por exemplo 20x20:
int M[20][20];
E solicitar que o usuário digite a ordem da matriz, com um valor de no máximo 20.

3. Re: Problemas com Matrizes em C [RESOLVIDO]

Toor Tecnologia
toortecnologia

(usa Slackware)

Enviado em 23/06/2009 - 13:47h

por que você pois 2 for iguais?
for(i;i<ordem;i++){
for(i;i<ordem;i++){

não tenho certeza quanto a essa sintaxe, de uma checada como que você passa uma matriz em uma função
matrizIdentidade(M,n);






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts