Ir ao conteúdo

Posts recomendados

Postado

Criar um programa que:
- Utilize uma sub-rotina para receber os elementos de uma matriz 10x5 de números reais;
- Utilize uma sub-rotina para calcular a soma de todos os elementos localizados abaixo
da sexta linha dessa matriz;
Os resultados deverão ser mostrados no programa principal.

 

def matriz():
  for i in range(10):
        for j in range(5):

Eu não sei como funciona a matriz dentro ou fora da função, quem poder ajudar agradeço! 

  • Obrigado 1
Postado

@Thiagodsantana     enviar a matriz por parâmetro , e na função ou sub-rotina , e uma variável para receber essa matriz enviada , faça os cálculos armazenando em outra variável e retorne esse valor para a Função principal onde precisa de outra variável para receber esse valor retornado e escrever ele, e seu código poderia ser assim  :

def matriz(mat):                   # def é a função com Qualquer nome e
                                   # a variável mat recebe a matriz enviada por parâmetro
    soma = 0                       # iniciaLiza a variável soma com valor zero
    for i in range(10):            # Loop vai de zero até nove
        for j in range(5):         # Loop vai de zero até quatro
            if( i > 5 ):           # se estiver depois da sexta Linha da Matriz
                soma += mat[i][j]  # soma acumulando o valor doconteúdo das
                                   # outras posições da lista de lista
    return soma                    # retorna o valor da soma
# A Função finaliza ao terminar a identação
mat = [[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5], # Matriz ou lista de lista
       [1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5], # com dez linhas e cinco colunas
       [1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],
       [1,2,3,4,5]                       ]
soma = matriz(mat)  # chamar a função enviando a matriz por parâmetro
                    # e a variável soma receberá o resultado retornado
print(soma)         # escrever o resultado retornado

 

Postado

@devair1010

Olha eu tentei, só que da erro . Fala que não defini a matriz. Onde eu coloco meu programa principal? Sua explicação ficou ótima muito obrigado, apenas o programa principal que não consegui colocar!

def matrizsoma(matriz):
    soma = 0
    matriz = []
    for i in range(10):
        matriz.append([])
        for j in range(5):
            print(f'Preencha as linha {i+1} coluna {j+1}')
            if(i > 5):
                soma += matriz[i][j]
    return soma


soma = matrizsoma(matriz)
print(matriz)

 

  • Obrigado 1
Postado

@Thiagodsantana@Thiagodsantana        você vai preencher a matriz lá na função , então seu código poderia ser assim   :

def somaMatriz(mat):               # def é a função com Qualquer nome e
                                   # a variável mat recebe a matriz enviada por parâmetro
    soma = 0                       # iniciaLiza a variável soma com valor zero
    for i in range( 2):            # Loop vai de zero até nove ( coloquei 2 só para testar )
        for j in range(5):         # Loop vai de zero até quatro
            if( i > 0 ):           # se estiver depois da sexta Linha da Matriz ( colquei 0 para testar , depois coloque cinco )
                soma += int(mat[i][j]) # conveter para int pois foram inserido na matriz como string  
                                   # soma acumulando o valor do conteúdo das
                                   # outras posições da lista de lista
                print("mat ",mat[i][j],"val i ",i,"val j ",j) # essa Linha é só para testar , depois remova - a
    return soma                    # retorna o valor da soma
# A Função finaliza ao terminar a identação
  
def lerMatriz():
    matriz = []                               # cria uma variável do tipo Lista simples
    for i in range(2):                        # loop aqui vai de 0 até 1 
        linhas = []                           # cria uma Lista simples
        for j in range(5):                    # Loop vai de zero até 4
            num = input("escreva um numero ") # lê e pega um numero do teclado
            linhas.append(num)                # essa lista recebe o número 
        matriz.append(linhas)                 # adiciona essa lista dentro da outra chamada matriz
    return matriz                             # retorna a matriz preenchida


# daqui para baixo é o programa principal

matriz = lerMatriz()       # cria uma variável nomeada matriz que receberá
                           # a matriz preenchida e retornada da função
soma = somaMatriz(matriz)  # chamar a função enviando a matriz por parâmetro
                           # e a variável soma receberá o resultado retornado
print("A Soma é ",soma)    # escrever o resultado retornado

 

  • Obrigado 1
Postado

@devair1010  Consegui. Muito obrigado!! vou postar meu código caso poder ajudar

def matrizsoma(mat):
    soma = 0
    for i in range(5):
        for j in range(3):
            if(i > 3):
                soma += int(mat[i][j])     
    return soma
def lermatriz():
    matriz = []
    for i in range(5):
        linhas = []
        for j in range(3):
            print(f'Linha {i} e coluna {j}')
            num = input('Escreva um número: ')
            linhas.append(num)
        matriz.append(linhas)
    return matriz
        
matriz = lermatriz()
soma = matrizsoma(matriz)
print(matriz)
print(f'A soma foi {soma}')
            

Ficou assim meu Código! 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...