Anda di halaman 1dari 9

Lista de exerccios de Matrizes

Faa um programa em C# que: 1. Leia uma matriz 3x3 de valores inteiros e em seguida calcule a mdia dos elementos dessa matriz.
int [,] x = new int [3,3]; int l, c, soma = 0; double media=0.0; for (l=0; l<=2; l++) for(c=0; c<=2; c++) { Console.WriteLine("X= Linha[{0}], Coluna[{1}]", l, c); x[l,c]=Int32.Parse(Console.ReadLine()); soma += x[l, c]; } media = soma / 9.0; Console.WriteLine("media = {0}", media);

2. Leia uma matriz 5x3 de valores inteiros e em seguida mostre o maior elemento armazenado na matriz e a sua posio (linha e coluna). Assuma que no h elementos repetidos na matriz.
int[,] x = new int[5, 3]; int l, c, maior = 0, pl=0, pc=0; for (l=0; l<=4; l++) for (c = 0; c <= 2; c++) { Console.WriteLine("X = Linha[{0}], Coluna[{1}]", l, c); x[l, c] = Int32.Parse(Console.ReadLine()); if (x[l, c] > maior || maior == 0) { maior = x[l, c]; pl = l; pc = c; } } Console.WriteLine("Maior numero = {0}, linha={1}, coluna={2}", maior, pl, pc);

3. Modifique o programa anterior para imprimir as coordenadas (linha e coluna) de todas as ocorrncias do maior elemento da matriz.
int[,] x = new int[5, 3]; int maior = 0, l, c; for (l = 0; l <= 4; l++) for (c = 0; c <= 2; c++) { Console.WriteLine("X =[{0},{1}]", l, c); x[l, c] = Int32.Parse(Console.ReadLine()); if (x[l, c] > maior || maior == 0) maior = x[l, c]; } for (l = 0; l <= 4; l++) for (c = 0; c <= 2; c++) { if(maior == x[l,c]) Console.WriteLine(" X={0} [{1},{2}]", maior, l, c); }

4. Leia uma matriz 3x4 de elementos inteiros e multiplique os elementos de cada linha pelo nmero da linha correspondente. Ex : Xi,j = Xi,j * j.
int [,] x = new int[3,4]; int l, c; for (l=0; l<=2; l++) for (c=0; c<=3; c++) { Console.WriteLine("X = [{0},{1}]", l, c); x[l, c] = Int32.Parse(Console.ReadLine()); x[l,c] = l * x[l,c]; } for (l=0; l<=2; l++) for (c=0; c<=3; c++) Console.WriteLine("X [{0},{1}] = {2}", l, c, x[l,c]);

5. Leia duas matrizes A e B 4x4 de elementos reais e armazene em uma terceira matriz S 4x4 a soma dos elementos de A e B. Ex.: Si,j = Ai,j + Bi,j.
int[,] int[,] int[,] int l, A = new int[4, 4]; B = new int[4, 4]; C = new int[4, 4]; c;

for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l,c] = Int32.Parse(Console.ReadLine()); } for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) { Console.WriteLine("B [{0},{1}]", l, c); B[l, c] = Int32.Parse(Console.ReadLine()); C[l, c] = A[l, c] + B[l, c]; } for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) Console.WriteLine("C [{0},{1}] = {2}", l, c, C[l, c]);

6. Leia uma matriz 5x5 de elementos inteiros e em seguida calcule a soma dos elementos da diagonal principal da matriz.
int[,] A = new int[5,5]; int l, c; double soma = 0; for (l = 0; l <= 4; l++) for (c = 0; c <= 4; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Int32.Parse(Console.ReadLine()); if (l == c) soma += A[l,c]; } Console.WriteLine("Soma = {0}", soma);

7. Calcule agora a soma dos elementos da diagonal secundria.


int[,] A = new int[5, 5]; int l, c, soma =0; for (l = 0; l <= 4; l++) for (c = 0; c <= 4; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Int32.Parse(Console.ReadLine()); if (l == (4-c)) soma += A[l, c]; } Console.WriteLine("Soma = {0}", soma);

8. Amplie o exerccio 6 para incluir na somatria o elemento a direita e a esquerda da diagonal principal. Ex:
int[,] A = new int[5, 5]; int l, c, soma = 0; for (l = 0; l <= 4; l++) for (c = 0; c <= 4; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Int32.Parse(Console.ReadLine()); if (l == c || l == (c - 1) || l == (c + 1)) soma += A[l, c]; } Console.WriteLine("Soma = {0}", soma);

9. Leia uma matriz 4x4 de elementos inteiros e em seguida coloque os elementos da diagonal principal da matriz em um vetor de 4 posies.
int[,] A = new int[4,4]; int[] V = new int[4]; int l, c; for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Int32.Parse(Console.ReadLine()); if (l == c) V[c]= A[l, c]; } for (c = 0; c <= 3; c++) Console.WriteLine("Vetor [{0}] = {1}", c, V[c]);

10. Agora coloque no vetor os elementos da diagonal secundria.


int[,] A = new int[4, 4]; int[] V = new int[4]; int l, c; for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Int32.Parse(Console.ReadLine()); if (l == (3-c)) V[l] = A[l, c]; } for (l = 0; l <= 3; l++) Console.WriteLine("Vetor [{0}] = {1}", l, V[l]);

11. Leia uma matriz 5x5 de elementos reais e em seguida calcule duas somatrias: A 1 somatria dever conter os elementos da triangular superior da matriz (acima da diagonal principal) e a 2 somatria dever conter os elementos da triangular inferior (abaixo da diagonal principal). Os elementos da diagonal principal no devem ser usados em nenhuma das duas somatrias
double[,] A = new double[5, 5]; double somaSup = 0.0, somaInf = 0.0; int l, c; for (l = 0; l <= 4; l++) for (c = 0; c <= 4; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Double.Parse(Console.ReadLine()); if (l < c) somaSup += A[l, c]; else if (l > c) somaInf += A[l, c]; } Console.WriteLine("Soma Superior = {0}", somaSup); Console.WriteLine("Soma Inferior = {0}", somaInf);

12. Leia uma matriz A 4x4 de elementos literais. Em seguida, transponha a matriz A em uma matriz T tambm 4x4. Ex: Tj,i = A i, j.
string[,] A = new string[4, 4]; string[,] B = new string[4, 4]; int l, c; for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Console.ReadLine(); } for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) B[l, c] = A[c, l]; for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) Console.WriteLine("B [{0},{1}] = {2}", l, c, B[l, c]);

13. Agora transponha dentro da prpria matriz. Troque Ai,j

Aj,i

string[,] A = new string[4, 4]; int l, c; string aux; for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Console.ReadLine(); } for (l = 0; l <= 3; l++) for (c = 0; c <=3 ; c++) { if (l < c) { aux = A[l,c]; A[l, c] = A[c, l]; A[c, l] = aux; } } for (l = 0; l <= 3; l++) for (c = 0; c <= 3; c++) Console.WriteLine("B [{0},{1}] = {2}", l, c, A[l, c]);

14. Leia uma matriz 5x5 de elementos reais e em seguida coloque em um vetor de 5 posies a soma dos elementos de cada coluna da matriz. A somatria de cada coluna da matriz deve ser colocada na posio do vetor correspondente a essa coluna.
double[,] A = new double[5, 5]; double[] B = new double[5]; int l, c;

for (l = 0; l <= 4; l++) for (c = 0; c <= 4; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Double.Parse(Console.ReadLine()); } for (c = 0; c <= 4; c++) for (l = 0; l <= 4; l++) B[c] += A[l, c];

for (l = 0; l <= 4; l++) Console.WriteLine("Soma B [{0}] = {1}", l, B[l]);

15. Leia uma matriz A 3x3 de elementos inteiros e um vetor B de 3 posies de elementos inteiros onde cada uma das 3 posies do vetor ser associada a uma coluna da matriz. Em seguida, some a cada elemento da matriz o elemento da coluna correspondente do vetor. Ex : Ai,j = Ai,j + Bj.
int[,] A = new int[3, 3]; int[] B = new int[3]; int l, c; for (l = 0; l <= 2; l++) { Console.WriteLine("B = [{0}]", l); B[l] = Int32.Parse(Console.ReadLine()); } for (l = 0; l <= 2; l++) for (c = 0; c <= 2; c++) { Console.WriteLine("A [{0},{1}]", l, c); A[l, c] = Int32.Parse(Console.ReadLine()); A[l, c] += B[c]; } for (l = 0; l <= 2; l++) for (c = 0; c <= 2; c++) Console.WriteLine(" A [{0},{1}] = {2}", l, c, A[l,c]);

16. Leia uma matriz 6x3 de elementos inteiros e em seguida troque os elementos da linha 1 com os da linha 6, da linha 2 com os da linha 5 e da linha 3 com os da linha 4. Com isso as linhas da matriz sero invertidas.
int[,] A = new int[6, 3]; int l, c, aux=0; for (l = 0; l <= 5; l++) for (c = 0; c <= 2; c++) { Console.WriteLine("A = [{0},{1}]", l,c); A[l,c] = Int32.Parse(Console.ReadLine()); } for (l = 0; l <= 2; l++) for (c = 0; c <= 2; c++) { aux = A[5-l, c]; A[5-l, c] = A[l,c]; A[l, c] = aux; } for (l = 0; l <= 5; l++) for (c = 0; c <= 2; c++) Console.WriteLine(" A [{0},{1}] = {2}", l, c, A[l, c]);

17. Leia uma matriz 6x3 de elementos inteiros e em seguida troque os elementos da linha 1 com os da linha 4, da linha 2 com os linha 5, e da linha 3 com os da 6. Com isso a metade de cima da matriz ser trocada com a metade de baixo.
int[,] A = new int[6, 3]; int l, c, aux = 0; for (l = 0; l <= 5; l++) for (c = 0; c <= 2; c++) { Console.WriteLine("A = [{0},{1}]", l, c); A[l, c] = Int32.Parse(Console.ReadLine()); } for (l = 0; l <= 2; l++) for (c = 0; c <= 2; c++) { aux = A[(l+3), c]; A[(l+3), c] = A[l, c]; A[l, c] = aux; } for (l = 0; l <= 5; l++) for (c = 0; c <= 2; c++) Console.WriteLine(" A [{0},{1}] = {2}", l, c, A[l, c]);

18. A matriz 5x12 de valores lgicos abaixo representa o mapa das poltronas de um teatro, onde cada posio da matriz representa uma poltrona. Se uma posio da matriz estiver com valor lgico VERDADEIRO ento esta posio indica uma poltrona desocupada (disponvel), caso contrrio a poltrona est ocupada. Faa um programa em C# que : Preencha todas as posies da matriz com o valor lgico VERDADEIRO. Leia um conjunto indeterminado de valores de linha e coluna onde cada par indica as coordenadas de uma poltrona. O ltimo par, que indica o fim do processamento, contm pelo menos um dos valores negativo. Se o valor das coordenadas informadas for VERDADEIRO, dar a mensagem RESERVA CONFIRMADA e mudar o seu valor para FALSO. Se o valor das coordenadas informadas for FALSO, dar a mensagem POLTRONA OCUPADA. INFORME NOVAS COORDENADAS. Ao final, indicar quantas poltronas foram reservadas.
bool[,] A = new bool[5,12]; int l, c, cont=0; for (l = 0; l <= 4; l++) for (c = 0; c <= 11; c++) A[l, c] = true; l = 0; c = 0; while (l >= 0 && c >= 0 && cont <=60) { Console.WriteLine("Digite a Coordenada da poltrona = LINHA"); l = Int32.Parse(Console.ReadLine()); if (l >= 0) { Console.WriteLine("Digite a Coordenada da poltrona = COLUNA"); c = int.Parse(Console.ReadLine()); while (l > 4 || c > 11) { Console.WriteLine("Poltrona nao exixte, favor informar linha da poltrona valida"); l = Int32.Parse(Console.ReadLine()); Console.WriteLine("Digite a Coordenada da poltrona = COLUNA"); c = Int32.Parse(Console.ReadLine()); } if (l >= 0 && c >= 0) { if (A[l, c] == true) { Console.WriteLine("Reserva CONFIRMADA"); A[l, c] = false; cont++; } else Console.WriteLine("Poltrona indisponvel, informe novas coordenadas."); } } } for (l = 0; l <= 4; l++) for (c = 0; c <= 11; c++) { Console.WriteLine("Poltrona posicao [{0},{1}] = {2}", l, c, A[l,c]); Console.WriteLine("Foram reservadas {0} poltronas", cont); }

Anda mungkin juga menyukai