Informática, perguntado por maickcesarp7pdm3, 11 meses atrás

Escreva uma função em C que receba, por parâmetro, uma matriz A(5,5) e
multiplica cada linha pelo elemento da diagonal principal daquela linha.


bokomoko: deve multiplicar inclusive a diagonal principal ? Acredito que não. Tem como verificar ?

Soluções para a tarefa

Respondido por bokomoko
1
Eu fiz sem multiplicar a diagonal por ela mesma.

Segue
https://repl.it/@bokomoko/mutiplica-matriz-5x5-pela-diagonal-principal


Respondido por KuroeJin
0
//multiplica todos os elementos da linha
int multiplicar(int a[][5], int linha, int coluna, int t_linha, int t_coluna){
    if(linha<t_linha){
        if(coluna<t_coluna){
            a[linha][coluna]*=a[linha][linha];

            return multiplicar(a, linha, coluna+1, t_linha, t_coluna); }

        return multiplicar(a, linha+1, coluna*0, t_linha, t_coluna); }

    return 0;}


//sem multiblicar a diagonal principal
int multiplicar(int a[][5], int linha, int coluna, int t_linha, int t_coluna){
    if(linha<t_linha){
        if(coluna<t_coluna){
            if(linha!=coluna) a[linha][coluna]*=a[linha][linha];

            return multiplicar(a, linha, coluna+1, t_linha, t_coluna); }

        return multiplicar(a, linha+1, coluna*0, t_linha, t_coluna); }

    return 0;}

=========================================================

OBS:
em C (acredito que seja só nela) quando o vetor é bidimensional a "numero de coluna" tem que ser especificado quando ela é parametro de função

OBS2:
as variaveis linha e coluna tem que iniciar com 0 e as variaveis t_linha e t_coluna representam o total de linhas e colunas da matriz então os valores devem ser 5.

OBS3:
como colocar na main: multiplicar(nome_da_matriz, 0, 0, 5, 5);
Perguntas interessantes