viciado 1 Denunciar post Postado Setembro 2, 2009 Eu tenho um algoritmo de implementação do tipo matriz, como posso fazer em C TAD matriz def rep = reg( val:vet[1...max] de valor; "vetor para os elementos" eb: int; "endereço(cursor) inicial" t: int; "tamanho dos elementos" d: int; "número de dimensões" L1,L2: int) "limites de linhas e colunas" op = proc cria_bidim(M: matriz; L1, L2: int); proc atribuição(M: matriz; i, j: int; v: valor); func consulta(M: matriz; i, j: int) retorna valor; func lim_dim(M: matriz, k: int) retorna int; fim matriz; Compartilhar este post Link para o post Compartilhar em outros sites
vhbsouza 0 Denunciar post Postado Setembro 2, 2009 Eu tenho um algoritmo de implementação do tipo matriz, como posso fazer em C TAD matriz def rep = reg( val:vet[1...max] de valor; "vetor para os elementos" eb: int; "endereço(cursor) inicial" t: int; "tamanho dos elementos" d: int; "número de dimensões" L1,L2: int) "limites de linhas e colunas" op = proc cria_bidim(M: matriz; L1, L2: int); proc atribuição(M: matriz; i, j: int; v: valor); func consulta(M: matriz; i, j: int) retorna valor; func lim_dim(M: matriz, k: int) retorna int; fim matriz; Cara... Não entendi nada do seu código e nem o que você quer fazer!! Explica melhor aí pra gente poder te ajudar! :D Isso ai tá em alguma linguagem em especial? Nunca vi nada assiM! uahuahua Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 2, 2009 em C do jeito q está ai eu naum saberia fazer, agora em C++ é outra história, pq ai envolve classe e tal! []s Compartilhar este post Link para o post Compartilhar em outros sites
vhbsouza 0 Denunciar post Postado Setembro 2, 2009 em C do jeito q está ai eu naum saberia fazer, agora em C++ é outra história, pq ai envolve classe e tal! []s Isso ai tá em alguma linguagem em especial? Nunca vi nada assiM! uahuahua Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Setembro 3, 2009 É um algoritmo. TAD é "Tipo abstrato de dados" Compartilhar este post Link para o post Compartilhar em outros sites
viciado 1 Denunciar post Postado Setembro 4, 2009 Consequi o algoritmo completo. É sobre função de mapeamento de matriz. A função de mapeamento bidimensional é: fm(i,j) = Eb + t*[(i-1)*n +j-1] Algoritmo, cria um tipo de dado matriz com as função especificadas, sabendo que proc (procedimento) a passagem de parametro é feita por referência. Aqui vai o algoritmo completo: TAD matriz def rep = reg( val:vet[1...max] de valor; "vetor para os elementos" eb: int; "endereço(cursor) inicial" t: int; "tamanho dos elementos" d: int; "número de dimensões" L1,L2: int) "limites de linhas e colunas" op = proc cria_bidim(M: matriz; L1, L2: int); proc atribuição(M: matriz; i, j: int; v: valor); func consulta(M: matriz; i, j: int) retorna valor; func lim_dim(M: matriz, k: int) retorna int; fim matriz; TAD matriz implem; func fm(i, j: int) retorna int; "Função de mapeamento bidimensional" início retorne M.eb +M.t*[(i-1)*M.L2 + j-1] fim; func lim_dim(M: matriz; k: int) retorna int; "Fornece o limite de uma dimensão da matriz M" inicio se k = 1 então retorne M.L1 senão se k = 2 então retorne M.L2 senão erro("Dimensão Invalida!") fim; proc cria_bidim(M: matriz; L1, L2: int); "Estabelece o conteúdo do descritor bidimensional" início M.eb := 1; M.t := 1; M.d := 2; M.L1 := L1; M.L2 := L2; fim; proc atribuição(M: matriz; i, j: int; v: valor); "Associa o valor v aos índices i, j em M" início se i <= M.L1 & j <= M.L2 então M.val[ fm(i,j) ] := v; senão erro("Índices inválidos!"); fim; func consulta(M: matriz; i,j: int) retorna valor; "Fornece o valor associado aos índices i, j em M" início se 0 < i <= M.L1 & 0 < j <= M.L2 então retorne M.val[ fm(i,j) ] senão erro("Índices inválidos!"); fim; fim matriz. Compartilhar este post Link para o post Compartilhar em outros sites