You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ao clicar em "Abrir Exemplos" > "Vetores e Matrizes" > Diagonal Principal
o código que é aberto está com um problema na linha 70, a função preenche(caracter &matriz[][]) está recebendo um ponteiro duplo (ponteiro do ponteiro que aponta para o endereço de memoria que se inicia o array/matriz) e por isso não está funcionando corretamente o algoritmo.
para corrigir o problema é só remover o caractere &, para que não haja um ponteiro duplo, pois acredito que a variavel matriz[][] já é um ponteiro que aponta para o endereço de memoria que se inicia o array/matriz, dessa forma: função preenche(caracter matriz[][]) é a linha de comando correta
/* CLIQUE NO SINAL DE "+", À ESQUERDA, PARA EXIBIR A DESCRIÇÃO DO EXEMPLO * * Copyright (C) 2014 - UNIVALI - Universidade do Vale do Itajaí * * Este arquivo de código fonte é livre para utilização, cópia e/ou modificação * desde que este cabeçalho, contendo os direitos autorais e a descrição do programa, * seja mantido. * * Se tiver dificuldade em compreender este exemplo, acesse as vídeoaulas do Portugol * Studio para auxiliá-lo: * * https://www.youtube.com/watch?v=K02TnB3IGnQ&list=PLb9yvNDCid3jQAEbNoPHtPR0SWwmRSM-t * * Descrição: * * Este exemplo ilustra o uso das matrizes na linguagem Portugol criando uma matriz * e preenchendo sua diagonal principal. * * As matrizes nada mais são do que vetores de duas dimensões (bidimensionais). Em * outras palavras, a matriz é um vetor aonde cada uma de suas posições (colunas) * armazena um outro vetor (linhas). * * Exemplo de vetor: * * [1, 2, 3] * * Exemplo de matriz: * * [1][2][3] * [4][5][6] * [7][8][9] * * Na matemática, a diagonal principal de uma matriz é o conjunto dos elementos em que * a linha e a coluna do elemento são iguais. Assim, a diagonal principal parte do canto * superior esquerdo (posição 0,0) e segue para a direita e para abaixo até encontrar o * lado direito ou o lado inferior da matriz. No exemplo abaixo, a diagonal principal é * representada pelo caracter '*': * * [*][ ][ ][ ] * [ ][*][ ][ ] * [ ][ ][*][ ] * [ ][ ][ ][*] * * Autores: * * Giordana Maria da Costa Valle * Carlos Alexandre Krueger * * Data: 01/06/2013 */programa
{
incluabiblioteca Util --> u
funcaoinicio()
{
// Define as dimensões (linhas e colunas) da matriz
const inteiro TAMANHO = 5// Cria a matriz
caracter matriz[TAMANHO][TAMANHO]
preenche(matriz)
exibe(matriz)
}
// Preenche a diagonal principal da matrizfuncaopreenche(caracter &matriz[][])
{
para (inteiro linha = 0; linha < u.numero_linhas(matriz); linha++)
{
para (inteiro coluna = 0; coluna < u.numero_colunas(matriz); coluna++)
{
se (linha == coluna)
{
matriz[linha][coluna] = '*'
}
senao
{
matriz[linha][coluna] = ' '
}
}
}
}
// Percorre e exibe a matrizfuncaoexibe(caracter matriz[][])
{
para (inteiro linha = 0; linha < u.numero_linhas(matriz); linha++)
{
para (inteiro coluna = 0; coluna < u.numero_colunas(matriz); coluna++)
{
escreva("[", matriz[linha][coluna], "]")
}
escreva("\n")
}
}
}
Comentários adicionais
na linha 70, troque funcao preenche(caracter &matriz[][]) por funcao preenche(caracter matriz[][]) para corrigir o problema
The text was updated successfully, but these errors were encountered:
Descrição do problema
Ao clicar em "Abrir Exemplos" > "Vetores e Matrizes" > Diagonal Principal
o código que é aberto está com um problema na linha 70, a
função preenche(caracter &matriz[][])
está recebendo um ponteiro duplo (ponteiro do ponteiro que aponta para o endereço de memoria que se inicia o array/matriz) e por isso não está funcionando corretamente o algoritmo.para corrigir o problema é só remover o caractere &, para que não haja um ponteiro duplo, pois acredito que a variavel
matriz[][]
já é um ponteiro que aponta para o endereço de memoria que se inicia o array/matriz, dessa forma:função preenche(caracter matriz[][])
é a linha de comando corretahttps://gyazo.com/2785141a02a935a8aac6966328473379
Código
Comentários adicionais
na linha 70, troque
funcao preenche(caracter &matriz[][])
porfuncao preenche(caracter matriz[][])
para corrigir o problemaThe text was updated successfully, but these errors were encountered: