Ir ao conteúdo
  • Cadastre-se
Waguinhu

Duvida matriz

Recommended Posts

Bom, não estou conseguindo pensar em um raciocino logico pra essa questao, gostaria que me ajudassem, com apenas algumas dicas.

Escrever um algoritmo que lê uma matriz A(15,5) e a escreva. Verifique, a seguir, quais os elementos de A que estão repetidos e quantas vezes cada um está repetido. Escrever cada elemento repetido com uma mesagem dizendo que o elemento aparece X vezes em A.

o maximo que consegui fazer, foi a base...

Codigo:

#include<iostream>

using namespace std;

int main()

{

int a[15][5],i,j;

for(i=0;i<15;i++)

{

for(j=0;j<5;j++)

{

cout<<"Entre com um numero para a linha "<<i<<" coluna "<<j<<": ";

cin>>a[j];

}

}

for(i=0;i<15;i++)

{

for(j=0;j<5;j++)

{

cout<<a[j]<<" ";

}

cout<<endl;

}

system("pause");

}

se puderem me ajudar, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A primeira forma que me vem à cabeça não foi muito elegante, nem acho que seja a mais eficiente, mas ela resolve seu problema.

Pense o seguinte:

[*] Você vai ter que varrer a matriz para saber quantos elementos repetidos há;

[*] Você pode armazenar os elementos repetidos numa matriz de M linhas e 2 colunas. Nesta matriz, a coluna #1 contém os elementos da matriz e a coluna #2 contém o número de vezes que ele aparece;

[*] Outra forma seria utilizar a matriz A não com 2, mas com 3 dimensões, ao invés de criar outra matriz. Utilizaria a mesma ideia de com duas matrizes.

Tente fazer agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites
A primeira forma que me vem à cabeça não foi muito elegante, nem acho que seja a mais eficiente, mas ela resolve seu problema.

Pense o seguinte:

[*] Você vai ter que varrer a matriz para saber quantos elementos repetidos há;

[*] Você pode armazenar os elementos repetidos numa matriz de M linhas e 2 colunas. Nesta matriz, a coluna #1 contém os elementos da matriz e a coluna #2 contém o número de vezes que ele aparece;

[*] Outra forma seria utilizar a matriz A não com 2, mas com 3 dimensões, ao invés de criar outra matriz. Utilizaria a mesma ideia de com duas matrizes.

Tente fazer agora.

Complicou cara, irei ler um pouco mais sobre matrizes para tentar entender a tua mensagem, se tu o fizesses talvez ajudaria ainda mais na compreensão

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente estudar um pouco e, pelo menos, esboçar alguma coisa.

Eu posso ajudá-lo, mas não farei para você, justamente porque quero ajudar.

Mas a ideia em si é simples. Tomemos, por exemplo, uma matriz 2x2 inicializada da seguinte forma:


Coluna #0 #1
Linha
#0 [5] [2]
#1 [3] [2]

Em C, para acessar um elemento desta matriz, fazemos A[M][N], sendo A o nome da matriz, M a linha desejada e N a coluna. Os índices M e N começam em 0, obrigatoriamente.

Podemos tomar uma matriz B de tamanho [M*N][2].

Por que este tamanho? Porque nós precisamos de, ATÉ[1] M*N espaços para guardar os elementos da matriz A. 2 colunas para que, em uma coluna armazenemos o elemento em si e na outra a quantidade de vezes em que ele aparece.

Para o nosso exemplo, a matriz B ficaria da seguinte forma, ao fim da execução do programa:


Coluna #0 #1
Linha
#0 [5] [1]
#1 [2] [2]
#2 [3] [1]
#3 [] []

Espero que tenha ficado mais claro agora.

[1] Por que ATÉ? Porque, caso haja elementos repetidos, ocuparemos menos espaços preenchendo a matriz, como é o exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Tente estudar um pouco e, pelo menos, esboçar alguma coisa.

Eu posso ajudá-lo, mas não farei para você, justamente porque quero ajudar.

Mas a ideia em si é simples. Tomemos, por exemplo, uma matriz 2x2 inicializada da seguinte forma:


Coluna #0 #1
Linha
#0 [5] [2]
#1 [3] [2]

Em C, para acessar um elemento desta matriz, fazemos A[M][N], sendo A o nome da matriz, M a linha desejada e N a coluna. Os índices M e N começam em 0, obrigatoriamente.

Podemos tomar uma matriz B de tamanho [M*N][2].

Por que este tamanho? Porque nós precisamos de, ATÉ[1] M*N espaços para guardar os elementos da matriz A. 2 colunas para que, em uma coluna armazenemos o elemento em si e na outra a quantidade de vezes em que ele aparece.

Para o nosso exemplo, a matriz B ficaria da seguinte forma, ao fim da execução do programa:


Coluna #0 #1
Linha
#0 [5] [1]
#1 [2] [2]
#2 [3] [1]
#3 [] []

Espero que tenha ficado mais claro agora.

[1] Por que ATÉ? Porque, caso haja elementos repetidos, ocuparemos menos espaços preenchendo a matriz, como é o exemplo.

o problema é passar isso que você disse pro computador heauheauea

vou queimar uns neuronios aqui depois posto o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×