Exercício sobre vetores bidimensionais

Propaganda
Exercício sobre matrizes:
Instruções gerais para o exercício:
- Crie um projeto com uma classe principal.
- Neste projeto, criar uma classe chamada MatrixInt, que possui os principais métodos (estáticos) para manipulação de uma matriz de inteiros.
- A classe principal fará chamadas a classe para executar parte dos exercícios propostos
- os números aleatórios devem ser, obrigatoriamente, entre 0 e 99, inclusive.
- Na classe principal, criar um método estático void imprimir(int matriz[][]) que imprime uma matriz de inteiros, sendo que todas as colunas devem ficar na mesma linha e cada linha
numa nova linha da tela. Exemplo:
5 6 10 8 9
4 1 2 11 1
5 8 7 3 7
0 11 12 21 30
Exercícios:
1) Na classe MatrixInt, criar os seguintes métodos estáticos:
// cria uma matriz de inteiros, sem inicialização dos elementos e retorna a matriz criada
int[] newEmptyMatrix(int cols, int rows);
// cria um Matrix de inteiros, inicializando os elementos com números aleatórios e retorna o
matriz criada. Não esqueça da regra dos números aleatórios: de [0..99]!
int[] newRandomMatrix(int cols, int rows);
// cria um Matrix de inteiros, inicializando os elementos com números sequenciais (matriz[0][0]=0, matriz[0][1]=1, matriz[1][0] = 10, matriz[4][2] = 42...) e retorna o matriz criada
int[] newSequentialMatrix(int cols, int rows);
// inverte o matriz! Assim, o primeiro elemento será invertido com o último, o segundo com o
penúltimo, ...
void revert(int matriz[][]);
// ordena as COLUNAS da matriz POR LINHA
void sort(int matriz[][]);
// procura por um valor dentro da matriz, trocando ele por um outro valor e retorna o número
de trocas realizadas.
int replace(int matriz[][], int oldvalue, int newvalue);
2) Dentro do método main, utilize a classe MatrixInt para criar 2 matrizes de inteiros: uma com
números aleatórios e outra com números sequenciais
3) Imprima as duas matrizes
4) Inverta a matriz de números sequenciais e imprima ela novamente
5) Com a matriz aleatório:
(a) imprima a matriz
(b) solicite ao usuário que informe um número qualquer. Imprima na tela a posição (linha e coluna) em que o número se encontra na matriz; caso o número não esteja na matriz, imprima
uma mensagem adequada. Lembre-se: você deve imprimir apenas a primeira ocorrência
(c) com o mesmo número informado anteriormente, imprima separadamente, os números que
são menores que o valor informado e os que maiores que o valor informado.
(d) solicite um novo número para o usuário e que ele digite um número que pertence a matriz.
Executar a troca (replace) do valor atual pelo valor novo valor e imprimir quantas trocas foram feitas; se nenhuma troca foi feita, imprimir uma mensagem adequada.
(e) imprima novamente a matriz
6) Imprimir a soma dos números da matriz resultante da questão 5.
7) Crie outro método imprimir que imprima colunas em dois caracteres, lembrando que se o
número não ocupa dois dígitos, ele deve imprimir ocupar o mesmo espaço de um número com
dois dígitos e alinhado a direita, por exemplo:
5 6 10 8 9
4 1 2 11 1
5 8 7 3 7
0 11 12 21 30
8) Faça outro método imprimir que contenha o mesmo comportamento dos número como o do
exercício 7, porém coloque uma bordar entre os elementos. Por exemplo:
+--+--+--+--+--+
| 5| 6|10| 8| 9|
+--+--+--+--+--+
| 4| 1| 2|11| 1|
+--+--+--+--+--+
| 5| 8| 7| 3| 7|
+--+--+--+--+--+
|0 |11|12|21|30|
+--+--+--+--+--+
Download