15
Bacharelado em Ciência e Tecnologia BC0505 – Processamento da Informação EXERCÍCIOS Lista de Exercícios – Modularização + Vetor + Matriz PARTE 1 Modularização [1]. Dado o módulo a seguir, determinar o valor retornado para cada uma das chamadas: funcao inteiro Equação1 (inteiro A) { inteiro X X = (A * A)+(5*A)/ 2 retorne (X) } a) Equação1(10) b) Equação1((3 * 4) 14 + (8 / 4)) [2]. Construa uma função que retorne o somatório dos primeiros n elementos de qualquer PA, dados o primeiro termo e a razão. 125 0 Duas possibilidades de interpretação do exercício: Se desejar retornar o valor da PA após indicados os (n) termos a serem considerados: public static double PA(double a1, double r) { /*sendo a1 o primeiro termo da PA e r a razão da PA a serem pedidos no main*/ double soma; Scanner sc = new Scanner (System.in); System.out.println(" A função de Soma = " + a1 + "*n + 0.5*n*(n*" + r + " - " + r + ")"); System.out.println("Digite o número (inteiro) de termos da PA: "); int n = sc.nextInt(); soma = ((2 * a1 * n) + (r * n * n) - (r * n)) / 2; System.out.println("Soma dos " + n + " termos da PA é: " + soma); return soma; //retornará o valor da PA após indicado quantos (n) termos serão considerados } Se desejar retornar apenas a equação da PA: public static String PA(double a1, double r) { /*sendo a1 o primeiro termo da PA e r a razão da PA a serem pedidos no main*/ String equacao = " A função de Soma = " + a1 + "*n + 0.5*n*(n*" + r + " - " + r + ")"; return equacao; //retornará apenas a equação da PA }

Bacharelado em Ciência e Tecnologia · [10]. Construa uma função que receba por parâmetro, um vetor e seu tamanho retorne a media dos seus elementos. for media = media + A[i];

  • Upload
    vothuan

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Bacharelado em Ciência e Tecnologia BC0505 – Processamento da Informação

EXERCÍCIOS

Lista de Exercícios – Modularização + Vetor + Matriz

PARTE 1 – Modularização

[1]. Dado o módulo a seguir, determinar o valor retornado para cada uma das chamadas:

funcao inteiro Equação1 (inteiro A) {

inteiro X

X = (A * A)+(5*A)/ 2

retorne (X)

}

a) Equação1(10)

b) Equação1((3 * 4) – 14 + (8 / 4))

[2]. Construa uma função que retorne o somatório dos primeiros n elementos de qualquer PA, dados o primeiro termo e a

razão.

125

0

Duas possibilidades de interpretação do exercício:

Se desejar retornar o valor da PA após indicados os (n) termos a serem considerados:

public static double PA(double a1, double r) { /*sendo a1 o primeiro termo da PA e r a razão da PA a serem pedidos no main*/ double soma; Scanner sc = new Scanner (System.in); System.out.println(" A função de Soma = " + a1 + "*n + 0.5*n*(n*" + r + " - " + r + ")"); System.out.println("Digite o número (inteiro) de termos da PA: "); int n = sc.nextInt(); soma = ((2 * a1 * n) + (r * n * n) - (r * n)) / 2; System.out.println("Soma dos " + n + " termos da PA é: " + soma); return soma; //retornará o valor da PA após indicado quantos (n) termos serão considerados }

Se desejar retornar apenas a equação da PA:

public static String PA(double a1, double r) { /*sendo a1 o primeiro termo da PA e r a razão da PA a serem pedidos no main*/ String equacao = " A função de Soma = " + a1 + "*n + 0.5*n*(n*" + r + " - " + r + ")"; return equacao; //retornará apenas a equação da PA }

[3]. Construa uma função que retorne se dada letra (minúscula ou maiúscula) é vogal (V) ou não (F).

[4]. Construa uma função que retorne V (true) se o sexo passado por parâmetro for uma letra válida (M ou F)

[5]. Um número é capicua quando pode ser lido da esquerda para a direita ou da direita para a esquerda. Construa uma

função que retorne se dado número é capicua (V) ou não (F)

public static char vogalconsoante(String s){ /*Para minimizar a condição, pode-se transformar a letra em minúscula ou maiúscula:*/ String S = s.toUpperCase(); //deixa tudo maiúsculo /*String S = s.toLowerCase(); // deixa tudo minúsculo*/ if ("A".equals(S)||"I".equals(S)||"U".equals(S)||"E".equals(S)||"O".equals(S)){ char frase = 'V'; return frase; } char frase = 'F'; return frase; }

public static String validacao(String s) { String S = s.toUpperCase(); if("M".equals(S)||"F".equals(S)){ return "V"; } return "Caracter inserido inválido"; } OUTRA FORMA public static boolean validacao(char s) { boolean resp = false; if ("M".equals(s) || "F".equals(s) || "m".equals(s) || "f".equals(s)) { resp = true; } return resp; }

public static boolean validação (int a) { int temp = a, t, capicua = 0; boolean resp = false; while (temp != 0) { t = temp % 10; temp = temp / 10; capicua = (capicua * 10) + t; } if(capicua==a){ resp = true; } return resp; }

[6]. Construa uma função que retorne o valor em binário de um dado número inteiro decimal.

[7]. COMPLETE O PROGRAMA A SEGUIR SEGUINDO AS ORIENTAÇÕES:

a) Note a existência da função LerValorSuperior que faz a entrada de dados de um valor e obriga o usuário a

digitar um valor maior ou igual a um limite inferior (Esta função está pronta).

b) Note que a função VerificaMaior está começada e você deverá completá-la conforme orientações mais

adiante.

PEDE-SE:

i. Complete a função VerificaMaior que deverá ter o seguinte comportamento: Ela está recebendo por parâmetro

DOIS VALORES e deverá retornar o valor 1 se o primeiro valor for maior que o segundo, retornar 2 se o

segundo valor for maior que o primeiro, ou retornar zero se os dois valores forem iguais.

ii. Complete a função inicio:

Faça a chamada da função LerValorSuperior para ler o valor de N2, tendo como limite inferior o valor de

N1. Note que a chamada para a leitura de N1 já está feita e o usuário não conseguirá digitar um valor menor

que zero. No caso de N2, o limite inferior deverá ser o valor de N1. Siga o modelo da chamada.

Faça a chamada da função VerificaMaior, na função início.

Logo a após a chamada verifique o valor retornado e imprima uma das seguintes mensagens: “os valores são

iguais” ou “os valores são diferentes”

programa {

funcao inicio () { inteiro n1, n2, resultado

n1 = LerValorSuperior ("Digite o valor de N1: ", 0)

// completar ...

}

// ------------------------------------------------------------------------------------------------------

funcao inteiro LerValorSuperior (cadeia msg, inteiro inferior) {

inteiro valor

public static int binário (int a) { int temp = a; double bin = 0; int i = 0; while (temp != 0) { int t = temp % 2; temp = temp / 2; bin = bin + (t * Math.pow(10, i)); i++; } int bim = (int) bin; //conversão de double para int return bim; }

escreva(msg)

leia(valor)

enquanto (valor < inferior) {

escreva("Erro: Valor deve ser maior ou igual a ", inferior, "\n") escreva(msg)

leia (valor) }

retorne valor }

// ---------------------------------------------------------------------------------------------------------

funcao inteiro Verifica_maior(inteiro valor1, inteiro valor2)

{ inteiro resposta = 0

// escreva abaixo o codigo da sua função

_____________

____________

retorne resposta }

}

public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n1, n2, resultado; n1 = LerValorSuperior("Digite o valor de N1: ", 0); n2 = LerValorSuperior("Digite o valor de N1: ", n1); resultado = Verifica_maior(n1, n2); if (resultado == 0) { System.out.println("Os valores são iguais"); } else { System.out.println("Os valores são diferentes"); } } //FUNÇÃO VERIFICA MAIOR public static int Verifica_maior(int valor1, int valor2) { if (valor1 < valor2) { return 2; } else if (valor1 > valor2) { return 1; } return 0; } //FUNÇÃO JÁ FEITA public static int LerValorSuperior(String msg, int inferior) { Scanner sc = new Scanner(System.in); System.out.println(msg); int valor = sc.nextInt(); while (valor < inferior) { System.out.println("Erro: Valor deve ser maior ou igual a " + inferior + "\n"); System.out.println(msg); valor = sc.nextInt(); } return valor; }

[8]. Escreva um programa para ler dois números inteiros positivos e mostrar a soma e o produto dos mesmos. Seu

programa deve ter três sub-rotinas (ou módulos):

a) A primeira, chamada Valida_Positivo, deve ler e validar um número (número deve ser positivo). A função deve

ser chamada DUAS vezes no programa principal. Uma para cada número.

b) A segunda, chamada SomaDois_Inteiros, deve receber dois números por parâmetro e retornar a soma

c) A terceira, chamada ProdutoDois_Inteiros, deve receber dois números por parâmetro e retornar o produto.

A função principal (inicio) deve chamar as funções, na sequência correta e imprimir os resultados.

public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Digite o primeiro valor inteiro positivo"); int a = sc.nextInt(); int ac = validacao(a); System.out.println("Digite o segundo valor inteiro positivo"); int b = sc.nextInt(); int dc = validacao(b); System.out.println("Soma = " + SomaDois_Inteiros(ac, dc)); System.out.println("Produto = " + ProdutoDois_Inteiros(ac, dc)); } public static int validacao(int a) { Scanner sc = new Scanner(System.in); int valor = a; while (valor <= 0) { System.out.println("Erro: Valor deve ser maior que 0"); System.out.println("Digite outro valor inteiro positivo"); valor = sc.nextInt(); } return valor; } public static int SomaDois_Inteiros(int valor1, int valor2) { return valor1 + valor2; } public static int ProdutoDois_Inteiros(int valor1, int valor2) { return valor1 * valor2; }

PARTE 2 – Modularização + Vetor

[9]. Construa uma função que receba por parâmetro, um vetor e seu tamanho retorne a posição do maior valor (elemento).

[10]. Construa uma função que receba por parâmetro, um vetor e seu tamanho retorne a media dos seus elementos.

[11]. Escreva um programa para ler um VETOR de 10 números inteiros positivos e imprimir o vetor e também a soma

dos elementos do vetor e a media dos elementos. Seu programa deve ter quatro sub-rotinas (ou módulos):

a) A primeira, chamada Valida_Positivo, deve ler e validar um número (número deve ser positivo).

b) A segunda, chamada Leitura_Vetor, deve ler os elementos do vetor. Para validar os números deve fazer uso da

função Valida_Positivo.

c) A terceira, chamada SomaVetor, deve receber o vetor por parâmetro e retornar a soma dos seu elementos

d) A quarta, chamada Imprime_Vetor, deve receber o vetor por parâmetro e imprimir os elementos.

A função principal (inicio) deve chamar as funções, na sequência correta e imprimir a média.

public static int retorna_indice(int A[], int x) { int temp =A[0]; int j=0; for (int i = 1; i < x; i++) { if(temp<A[i]){ temp = A[i]; j=i; } } return j; }

public static double media(double A[], int x) { double media=0; for (int i = 0; i < x; i++) { media = media + A[i]; } media = media/x; return media; }

public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A[] = new int[10]; A = Leitura_Vetor(A); double soma = Soma_Vetor(A); double media = soma / 10; Imprime_Vetor(A); System.out.println("A média dos valores do vetor é: " + media); } public static int validacao(int a) { Scanner sc = new Scanner(System.in); int valor = a; while (valor <= 0) { System.out.println("Erro: Valor deve ser maior que 0"); System.out.println("Digite outro valor inteiro positivo"); valor = sc.nextInt(); } return valor; } public static int[] Leitura_Vetor(int A[]) { Scanner sc = new Scanner(System.in); System.out.println("Digite os valores da matriz"); for (int i = 0; i < 10; i++) { int x = sc.nextInt(); x = validacao(x); A[i] = x; } System.out.println(""); return A; } public static double Soma_Vetor(int A[]) { double soma = 0; for (int i = 0; i < 10; i++) { soma = soma + A[i]; } return soma; } public static void Imprime_Vetor(int A[]) { System.out.println("VETOR"); for (int i = 0; i < 10; i++) { System.out.println(A[i]); } System.out.println(""); }

[12]. Construa uma função que receba por parâmetro, um vetor e seu tamanho, e retorne V (true) se o vetor estiver em

ordem crescente e (F) caso contrário.

[13]. Construa uma função que receba por parâmetro, um vetor e seu tamanho e devolva o vetor ordenado (em ordem crescente)

[14]. Construa uma função que receba por parâmetro, um vetor A e seu tamanho e devolva outros dois vetores APAR e

AIMPAR. O vetor APAR deve conter os elementos pares de A e o vetor AIMPAR, os elementos ímpares de A.

public static boolean verifica(int A[], int a) { int temp =A[0]; for (int i =1;i<a;i++){ if(temp<A[i]){ temp = A[i]; } else{ return false; } } return true; }

public static int[] ordena(int A[], int a) { int temp; for (int j = 0; j < a; j++) { for (int i = 1; i < a; i++) { if (A[i] < A[i - 1]) { temp = A[i]; A[i] = A[i - 1]; A[i - 1] = temp; } } } return A; }

public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Digite o tamanho do vetor"); int x = sc.nextInt(); int A[] = new int[x]; System.out.println("Digite os valores do vetor"); for (int i = 0; i < x; i++) { A[i] = sc.nextInt(); } int APAR[] = new int[x]; int AIMPAR[] = new int[x]; int M[][] = Par_Impar(A, x); System.out.println(""); for (int i = 0; i < x; i++) { APAR[i] = M[0][i]; } for (int i = 0; i < x; i++) { AIMPAR[i] = M[1][i]; } }

[15]. Construa uma função que receba por parâmetro, um vetor A e seu tamanho, e retorne a quantidade de valores pares

em X.

[16]. Construa uma função chamada Sucessor que receba por parâmetro, um vetor A, seu tamanho e uma posição “i”, e

retorne o elemento sucessor do elemento “i”. Caso não seja possível retornar o sucessor, retorne o valor -1 e imprima

uma mensagem de erro na tela. Lembre-se de que não é possível retornar o sucessor do último elemento.

public static int[][] Par_Impar(int A[], int a) { //Scanner sc = new Scanner(System.in); int APAR[] = new int[a]; int AIMPAR[] = new int[a]; int M[][] = new int[2][a]; int l = 0; int k = 0; for (int i = 0; i < a; i++) { if (A[i] % 2 == 0) { APAR[l] = A[i]; l++; } else { AIMPAR[k] = A[i]; k++; } } for (int j = 0; j < l; j++) { M[0][j] = APAR[j]; } for (int j = 0; j < k; j++) { M[1][j] = AIMPAR[j]; } return M; }

public static int quantidade(int A[], int a) { int cont = 0; for (int i = 0; i < a; i++) { if (A[i] % 2 == 0) { cont++; } } return cont; }

public static int Sucessor(int A[], int a, int i){ //a - tamanho e i – índice if(i+1>=a){ System.out.println("Erro! Índice indicado maior ou igual ao tamanho da matriz"); return -1; } int s = A[i+1]; return s; }

[17]. Considere a existência de um vetor (de String) contendo o nome de 80 alunos, uma matriz (de double) de 80x2

contendo 2 notas (a nota de cada prova numa coluna ) e um vetor (de int) contendo as respectivas faltas desses alunos.

Escreva funções específicas para:

a. Exibir na tela a média final de cada aluno

b. Imprimir o nome e o total de faltas dos alunos com média acima de 7

[18]. Dada uma sequência de N números entre 0 e 100. Determine qual o valor de maior frequência. Caso haja mais de

um valor que tenha a maior frequência, mostre o maior deles.

Entrada

Na primeira linha ha um inteiro N, 1 ≤ N ≤ 1000000, representando a quantidade números.

Nas N linhas seguintes haverá um numero natural entre 0 e 100 inclusive por linha.

Saída O programa gera apenas duas linhas. Na primeira dela mostre qual foi o valor com maior frequência. E na segunda linha,

mostre a quantidade de vezes que esse número apareceu na sequencia de valores. Apos a impressão deste ultimo valor

quebre uma linha. Caso haja mais de um valor tenha a maior frequência, mostre o maior deles.

Exemplos

ENTRADA SAÍDA 10 1 7 4 29 7 4 7 8 7 29 7

4

18 1 7 7 7 7 7 1 8 8 8 8 8 1 7 8 7 8 1 8

7

15 100 100 1 1 100 100 100 2 5 6 7 11 2 2 100 100

6

15 0 0 1 1 0 0 100 2 5 6 7 11 2 0 100 0

5

15 101 100 1 1 10 10 10 2 5 10 6 7 11 2 2 10

Obs. Note que aqui foram “digitados” 16 números

(ao invés dos 15 sugeridos no primeiro dado) pois o

101 é uma entrada inválida e deve ser rejeitado

10

5

public static double[] Media(double notas[][]) { double B[] = new double[80]; for (int i = 0; i < 80; i++) { double temp = 0; for (int j = 0; j < 2; j++) { temp = temp + notas[i][j]; } B[i] = temp / 2; } System.out.println(""); for (int i = 0; i < 80; i++) { System.out.println(B[i]); } return B; } public static void faltas(double notas[][], String nomes[], int faltas[]) { double B[] = Media(notas); for (int i = 0; i < 80; i++) { if (B[i] > 7.0) { System.out.printf("%s/t%d",nomes[i], faltas[i]); } } }

public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Quantos valores serão inseridos de 0 a 10000000"); int N = sc.nextInt(); System.out.println("Quais valores serão inseridos de 0 a 100"); int A[] = new int[N]; for (int i = 0; i < N; i++) { int temp = sc.nextInt(); A[i] = validacao(temp); } valor(A, N); } public static int validacao(int a) { Scanner sc = new Scanner(System.in); int valor = a; while (valor < 0 || valor > 100) { System.out.println("Erro: Valor digitado inválido"); System.out.println("Digite outro valor inteiro positivo"); valor = sc.nextInt(); } return valor; } public static void valor(int A[], int N) { int temp; for (int j = 0; j < N; j++) { for (int i = 1; i < N; i++) { if (A[i] < A[i - 1]) { temp = A[i]; A[i] = A[i - 1]; A[i - 1] = temp; } } } //tenho A ordenado int B[][] = new int[N][2]; int i = 0; int cont = 1; for (int j = 0; j < N - 1; j++) { if (A[j] == A[j + 1]) { cont++; B[i][0] = A[j]; B[i][1] = cont; } else { cont = 1; i++; B[i][0] = A[1 + j]; B[i][1] = cont; } } int comp = B[0][1]; int desem = B[0][0]; for (int k = 1; k < N; k++) { if (comp <= B[k][1]) { if (comp < B[k][1]) { comp = B[k][1]; desem = B[k][0]; }

PARTE 3 – Modularização + MATRIZ

[19]. Construa uma função que receba por parâmetro, uma matriz A e suas dimensões e retorne V (true) se existir alguma

linha com todos os elementos zerados e F (false) caso contrário.

[20]. Construa uma função que receba por parâmetro, uma matriz A e suas dimensões e retorne V (true) se existir alguma

coluna com todos os elementos zerados e F (false) caso contrário.

else { if (desem < B[k][0]) { desem = B[k][0]; } } } } System.out.println(""); System.out.println("O número com maior frequência é: " + desem); System.out.println("A frequencia deste número é: " + comp); System.out.println(""); }

public static boolean zero(int[][] A, int l, int c) { for (int i = 0; i < c; i++) { int cont = 0; for (int j = 0; j < l; j++) { if (A[j][i] != 0) { break; } else { cont++; if (cont == l) { return true; } } } } return false; }

public static boolean zero(int[][] A, int l, int c) { for (int i = 0; i < l; i++) { int cont = 0; for (int j = 0; j < c; j++) { if (A[i][j] != 0) { break; } else { cont++; if (cont == c) { return true; } } } } return false; }

[21]. Construa uma função que receba por parâmetro, uma matriz A, suas dimensões e um número K. Retorne a soma dos

elementos da coluna K.

[22]. Os elementos Aij de uma matriz inteira Anxn representam os custos de transporte da cidade i para a cidade j.

Exemplo: Sendo K= 0, L = 1, M = 3 e F = 0 o custo do itinerário é:

A[K][L] + A[L][M] + A[M][F] =

A[0][1] + A[1][3] + A[3][0] =

1 + 400 + 7 = 408

Construa uma função que receba por parâmetro, uma matriz A, suas dimensões e 4 valores indicando origens e

destinos (K, L, M, F). A função deve retornar o custo para ir de K a F, passando por L e M conforme exemplo.

[23]. Uma matriz de duas colunas pode ser utilizada para representar o resultado de jogos de campeonatos. Na primeira

coluna o número de gols do time1 (mandante do jogo) e na segunda coluna o número de gols do time2 (visitante).

Construa uma função que receba por parâmetro, uma matriz Anx2 e o valor de N e retorne a quantidade de empates.

[24]. Um teatro deseja informatizar o sistema de venda de ingressos. Suponha que o teatro tenha 560 poltronas, ou seja

40 cadeiras em cada uma das 14 filas. Para comprar ou reservar um lugar o usuário deve informar o número da fila

(de 1 a 14) e o número da poltrona na fila (de 1 a 40).

Na reserva ou venda de um ingresso deverá ficar registrado o nome da pessoa que comprou o bilhete para a poltrona.

Inicialmente todas as poltronas estarão preenchidas como “LIVRE”

Construa funções específicas para:

a) Inicializar todas as poltronas do teatro no sistema, com a situação "LIVRE".

b) Vender um determinado ingresso. Aqui o usuário irá informar o número da fila e cadeira. Se estiver livre, solicitar

também o nome da pessoa. Se a poltrona NÃO estiver LIVRE avisar ao usuário.

c) Pesquisar quantas poltronas "consecutivas" livres existem numa determinada FILA. Essa rotina deve informar qual o

número da primeira poltrona livre, e quantas livres "consecutivas" tem ao lado dela.

public static int soma(int[][] A, int l, int c, int k) { Scanner sc = new Scanner(System.in); while (k >= c || k < 0) { System.out.println("Valor digitado inválido, digite novamente"); k = sc.nextInt(); } int temp = 0; for (int i = 0; i < l; i++) { temp = temp + A[l][k]; } return temp; }

public static int custo(int[][] A, int n, int K, int L, int M, int F) { return A[K][L] + A[L][M] + A[M][F]; }

public static int empate(int[][] A, int n) { int cont = 0; for (int i = 0; i < n; i++) { if (A[i][0] == A[i][1]) { cont++; } } return cont; }

public static String[][] inicio(String A[][]) { for (int i = 0; i < 14; i++) { for (int j = 0; j < 40; j++) { A[i][j] = "LIVRE"; } } return A; } public static String[][] compra(String[][] A, int fl, int pc) {//fl e pc são fileira e poltrona escolhidas Scanner sc = new Scanner(System.in); while (!"LIVRE".equals(A[fl][pc])) { System.out.println("Poltrona Ocupada! Escolha outra"); System.out.println("Digite a fila: "); fl = sc.nextInt(); System.out.println("Digite a poltrona: "); pc = sc.nextInt(); } System.out.println("Digite seu nome"); String s = sc.nextLine(); A[fl][pc] = s; System.out.println("Obrigado por assistir conosco"); System.out.println("Pague no caixa ao lado"); return A; } public static void pesquisa(String[][] A, int fl) { int B[][] = new int[20][2]; int i = 0; int cont = 0; int j = -1; while (i != 40) { if ("LIVRE".equals(A[fl][i])) { j++; B[j][0] = i + 1; while ("LIVRE".equals(A[fl][i + 1])) { cont++; i++; } B[j][1] = cont; } i++; } for (int k = 0; k < j; k++) { System.out.println("A poltrona " + B[k][0] + " está livre e existem " + B[k][1] + " poltronas vazias ao seu lado"); } }

PARTE 4 – TESTE DE MESA

[25]. Simule a execução do algoritmo SEGREDO através de “teste de mesa”:

a) Na linha 5 da função inicio preencha os espaços da matriz A com a sequência dos 6 primeiros dígitos da sua

Matrícula

b) Transcreva esses valores para a Matriz Original (na tabela teste de mesa);

c) Simule a execução da chamada da função FSegredo (linha 6) e no ESCOPO FSEGREDO, anote os novos

valores de cada variável e as linhas que as modificam. É obrigatório anotar todas as linhas que modifiquem

um dos valores contidos nas variáveis i, j, aux até que a função seja encerrada.

d) Indique na “Matriz após FSegredo” os valores da Matriz A após a execução de FSegredo.

e) Que valor será impresso na linha 7 da função início? 3

“SEGREDO” TESTE DE MESA

Matriz A Original

0 1 2

0 3 1 0

1 0 0 1 ESCOPO FSEGREDO

LINHA i j aux

11 3

12 0

14 0

19 2

19 4

21 1

14 0

19 2

19 4

21 2

24 0

25 0

25 1

25 2

24 1

25 0

25 1

25 2

Matriz Após FSegredo

0 1 2

0 1 0 0

1 0 0 0

***O valor de matrícula utilizado é fictício.