Rbrt22 0 Denunciar post Postado Abril 25, 2007 Preciso inicializar uma matriz (linguagem C).Tentei isto e não funciona:int matriz[3][3];matriz = { {0,0,0} {0,0,0} {0,0,0} };Como devo fazer? Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Abril 25, 2007 Assim int matriz[3][3] = {0,0,0,0,0,0,0,0,0}; ou assim for(int cont=0;cont<3;cont++) { for(int cont2=0;cont<3;cont++) { matriz[cont][cont2] = 0; }} Compartilhar este post Link para o post Compartilhar em outros sites
Rbrt22 0 Denunciar post Postado Abril 26, 2007 Assimint matriz[3][3] = {0,0,0,0,0,0,0,0,0};ou assim for(int cont=0;cont<3;cont++) { for(int cont2=0;cont<3;cont++) { matriz[cont][cont2] = 0; }} VALEU!!! Caso resolvido. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 14, 2008 existe uma forma de inicalizar todos os elementos da matriz com o valor zero, sem ter q declarar todos ?? algo tipo int matriz[3][3] = {0}; Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 14, 2008 naum tenho ctz do comando + acho q é com o memset! veja esse tópico: http://forum.imasters.com.br/index.php?showtopic=288875 []'s Compartilhar este post Link para o post Compartilhar em outros sites
coxa 0 Denunciar post Postado Junho 14, 2008 Preciso inicializar uma matriz (linguagem C). Tentei isto e não funciona: int matriz[3][3]; matriz = { {0,0,0} {0,0,0} {0,0,0} }; Como devo fazer? Olha cara tem 2 jeitos: int matriz[3][3]={{0,0,0},{0,0,0},{0,0,0}}; ou cria um for percorrendo ela inteira e zerando ela.. tirei sua duvida? :P abraçoo Preciso inicializar uma matriz (linguagem C). Tentei isto e não funciona: int matriz[3][3]; matriz = { {0,0,0} {0,0,0} {0,0,0} }; Como devo fazer? Olha cara tem 2 jeitos: int matriz[3][3]={{0,0,0},{0,0,0},{0,0,0}}; ou cria um for percorrendo ela inteira e zerando ela.. tirei sua duvida? :P abraçoo Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Junho 14, 2008 Com o memset é menos complexo. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 15, 2008 coxa, essas duas formas eu já sabia, são muito trabalhosas. nao sei ponteiros ainda, por enquanto vou inicializar na mão...mas é bom saber que existe uma função pra fazer isso estranho que quando declaro uma matriz e nao inicializo ela, não vem lixo da memória, já se for variável vem lixo, alguém sabe pq isso ?? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Junho 15, 2008 (gdb) l1 #include <stdio.h> 2 int main(void) { 3 int V[4][5]; 4 puts(""); 5 } (gdb) b 4 Breakpoint 1 at 0x8048365: file matriz.c, line 4. (gdb) r Starting program: /home/bcc/ib03/src/C/a.out Breakpoint 1, main () at matriz.c:4 4 puts(""); (gdb) display V 1: V = {{0, 671088640, 1701736302, 41, 0}, {-1081095436, -1209520354, -1208866055, -1208692748, -1081103800}, {134513376, -1208692748, 134518144, -1081103784, 134513261}, {1, -1081103628, -1081103752, 134513657, -1209881460}} Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 15, 2008 a posição V[0][0] e V[0][4], vem sempre com zero ? ou foi uma coincidencia ?? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Junho 15, 2008 Não.Não vem sempre com zero. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 15, 2008 não sei oq acontece então, fiz um exercicio aqui pra acumular valores em um vetor, o qual não inicializei e funcionou certo, algo assim: int acumula[10]; . . . acumula[i] = acumula[i] + M[i][j]; Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Junho 16, 2008 assim naum sem inicializar da certo, soh q pode ser q as vzs venha com sujeira! por isso em Java o compilador reclama c você naum inicializar a variavel! []'s Compartilhar este post Link para o post Compartilhar em outros sites
José Enésio 4 Denunciar post Postado Junho 17, 2008 não sei oq acontece então, fiz um exercicio aqui pra acumular valores em um vetor, o qual não inicializei e funcionou certo, algo assim: int acumula[10]; . . . acumula[i] = acumula[i] + M[i][j]; Pode ser alguma coisa a ver com o compilador mas o certo é não se acostumar a usar uma variável sem antes iniciá-la, se se acostumar inicializando as variáveis antes de usá-la, isso irá lhe poupar dores de cabeça no futuro (e acho que você ainda não está fazendo coisas grandes, eu por exemplo estou fazendo um jogo de RPG + Estratégia ao estilo Fire Emblem em Flash, por enquanto o sistema está no iniciozinho, mas você não acredita a quantidade de dores de cabeça que eu tenho tentando montar esse sistema e olha que eu já estou acostumado com as práticas corretas de programação, imagina se eu não estivesse e fizesse esse sistema em C...). :D Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Junho 21, 2008 é, tem que fazer o certo mesmo :D esses tempos vi inicializada o vetor ou matriz (não lembro) assim: M[i][j] = "";mas testei e não deu certo "/ quando tiver pronto teu jogo, passe ae pra eu dar uma olhada :D Compartilhar este post Link para o post Compartilhar em outros sites