Closed Schddar closed 2 weeks ago
Olá,
É necessário declarar a matriz em um escopo que seja acessível pelas funções, podendo ficar no escopo do programa
. Além disso, é necessário definir o tipo de retorno das funções.
Segue o código corrigido:
programa {
// Definindo a matriz com os valores fornecidos
inteiro matriz[10][10] =
{
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
}
funcao inicio() {
// Exemplos de chamada das funções
escreva("\nSoma de todos os elementos: ", somaElementos())
escreva("\nProduto dos elementos da diagonal principal: ", produtoDiagonalPrincipal())
escreva("\nSoma da diagonal secundária: ", somaDiagonalSecundaria())
escreva("\nMédia da última coluna: ", mediaUltimaColuna())
escreva("\nMaior elemento da matriz: ", maiorElemento())
escreva("\nMenor elemento da matriz: ", menorElemento())
escreva("\nSoma da última linha: ", somaUltimaLinha())
escreva("\nProduto dos elementos da primeira linha: ", produtoPrimeiraLinha())
escreva("\nSoma da primeira coluna: ", somaPrimeiraColuna())
escreva("\nMédia da diagonal principal: ", mediaDiagonalPrincipal())
}
// Função 1: Soma de todos os elementos da matriz
funcao inteiro somaElementos() {
inteiro soma = 0
para (inteiro i = 0; i < 10; i++) {
para (inteiro j = 0; j < 10; j++) {
soma = soma + matriz[i][j]
}
}
retorne soma
}
// Função 2: Produto dos elementos da diagonal principal
funcao inteiro produtoDiagonalPrincipal() {
inteiro produto = 1
para (inteiro i = 0; i < 10; i++) {
produto = produto * matriz[i][i] // Diagonal principal: i == j
}
retorne produto
}
// Função 3: Soma dos elementos da diagonal secundária
funcao inteiro somaDiagonalSecundaria() {
inteiro soma = 0
para (inteiro i = 0; i < 10; i++) {
soma = soma + matriz[i][9 - i] // Diagonal secundária: i + j = 9
}
retorne soma
}
// Função 4: Média dos elementos da última coluna
funcao real mediaUltimaColuna() {
real soma = 0
para (inteiro i = 0; i < 10; i++) {
soma = soma + matriz[i][9] // Última coluna: j = 9
}
retorne soma / 10
}
// Função 5: Maior elemento da matriz
funcao inteiro maiorElemento() {
inteiro maior = matriz[0][0]
para (inteiro i = 0; i < 10; i++) {
para (inteiro j = 0; j < 10; j++) {
se (matriz[i][j] > maior) {
maior = matriz[i][j]
}
}
}
retorne maior
}
// Função 6: Menor elemento da matriz
funcao inteiro menorElemento() {
inteiro menor = matriz[0][0]
para (inteiro i = 0; i < 10; i++) {
para (inteiro j = 0; j < 10; j++) {
se (matriz[i][j] < menor) {
menor = matriz[i][j]
}
}
}
retorne menor
}
// Função 7: Soma dos elementos da última linha
funcao inteiro somaUltimaLinha() {
inteiro soma = 0
para (inteiro j = 0; j < 10; j++) {
soma = soma + matriz[9][j] // Última linha: i = 9
}
retorne soma
}
// Função 8: Produto dos elementos da primeira linha
funcao inteiro produtoPrimeiraLinha() {
inteiro produto = 1
para (inteiro j = 0; j < 10; j++) {
produto = produto * matriz[0][j] // Primeira linha: i = 0
}
retorne produto
}
// Função 9: Soma dos elementos da primeira coluna
funcao inteiro somaPrimeiraColuna() {
inteiro soma = 0
para (inteiro i = 0; i < 10; i++) {
soma = soma + matriz[i][0] // Primeira coluna: j = 0
}
retorne soma
}
// Função 10: Média dos elementos da diagonal principal
funcao real mediaDiagonalPrincipal() {
real soma = 0
para (inteiro i = 0; i < 10; i++) {
soma = soma + matriz[i][i] // Diagonal principal: i == j
}
retorne soma / 10
}
}
Descrição do problema
não está a executar o programa
Código
Comentários adicionais
programa em Portugol que inicialize uma matriz de 10x10 com valores predefinidos e implemente 10 funções para realizar diferentes operações matemáticas sobre a matriz. Cada função deve retornar um número específico derivado da operação aplicada, e este número deve ser verificável como resposta, em um campo de entrada de número, nesse questinário.