vasco16 Posted December 12, 2009 at 07:36 PM Report Share #300066 Posted December 12, 2009 at 07:36 PM boas pessoal tenho de criar um metodo que insere uma linha (vector) numa matriz. Tenho Matriz[tamanho1][tamanho2] e o meu metodo receve um vector com valores, e tem como tamanho, tamanho2 e agora tenho de inserir (ou passar) esse valores para a minha matriz, mas tenho de ver se ela está vazia e se nao tiver qual é a linha que posso inserir os valores... e isto: if (matriz == null) nao funciona.. Alguma sugestão? cumps. Link to comment Share on other sites More sharing options...
Baderous Posted December 12, 2009 at 08:01 PM Report Share #300069 Posted December 12, 2009 at 08:01 PM Quando crias uma matriz de um determinado tipo, todas as suas posições vão ser inicializadas com o valor default para esse tipo, de modo que não existe uma definição de "vazio". O que podes fazer é, aquando da criação da matriz, inicializá-la toda com um valor que queiras considerar como representante do vazio (por exemplo, numa matriz de inteiros, colocares todas as posições com o valor -1). Depois basta pesquisares por esse valor para detectar onde podes inserir o teu vector. Link to comment Share on other sites More sharing options...
vasco16 Posted December 12, 2009 at 08:18 PM Author Report Share #300071 Posted December 12, 2009 at 08:18 PM Quando crias uma matriz de um determinado tipo, todas as suas posições vão ser inicializadas com o valor default para esse tipo, de modo que não existe uma definição de "vazio". O que podes fazer é, aquando da criação da matriz, inicializá-la toda com um valor que queiras considerar como representante do vazio (por exemplo, numa matriz de inteiros, colocares todas as posições com o valor -1). Depois basta pesquisares por esse valor para detectar onde podes inserir o teu vector. o problema é que o meu vector pode vir com inteiros positivos e negativos.. Link to comment Share on other sites More sharing options...
Knitter Posted December 12, 2009 at 08:21 PM Report Share #300072 Posted December 12, 2009 at 08:21 PM Se a matriz é de inteiros, pessoalmente, zero faz mais sentido para ver se está vazia ou não. A única forma de ver se a matriz está vazia é percorrer todas as posições e ver se essas posições contém o valor que tu consideras ser vazio. Esse valor vai depender do problema que estás a resolver. matriz == null Isto apenas verifica se a referência está iniciada ou não. Se isto devolver null, então não tens qualquer matriz, tens uma referência que ainda não aponta para um lugar válido em memória. www.sergiolopes.eu Link to comment Share on other sites More sharing options...
vasco16 Posted December 12, 2009 at 08:28 PM Author Report Share #300075 Posted December 12, 2009 at 08:28 PM Se a matriz é de inteiros, pessoalmente, zero faz mais sentido para ver se está vazia ou não. A única forma de ver se a matriz está vazia é percorrer todas as posições e ver se essas posições contém o valor que tu consideras ser vazio. Esse valor vai depender do problema que estás a resolver. matriz == null Isto apenas verifica se a referência está iniciada ou não. Se isto devolver null, então não tens qualquer matriz, tens uma referência que ainda não aponta para um lugar válido em memória. Estou a desenvolver um sistema de votação, dai o eleitor puder votar -1 0 ou 1, porque neste metodo so tenho de inserir dados, mais à frente é que os valido. Link to comment Share on other sites More sharing options...
Baderous Posted December 12, 2009 at 09:05 PM Report Share #300082 Posted December 12, 2009 at 09:05 PM Então escolhe um valor que tu sabes que nunca poderá aparecer! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now