Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Multiplicar elemento da diagonal secundaria pela linha cor


Ialy

Pergunta

O enunciado do exercício é o seguinte:

Faça uma sub-rotina ou função que receba uma

matriz A(6,6) e multiplique cada linha pelo elemento

da diagonal principal daquela linha. A função deve

retornar a matriz alterada para ser mostrada no

programa principal.

Eu fiz um programa, mas não da certo, então, se vocês puderem me ajudar, isso é o que eu fiz:

#include <iostream>
using namespace std;

int multiplica(int m1[][6], int m2[][6], int t){
    int i, j, k;
    for (i=0; i<t; i++){
        for (j=0; i<6; i++){
            if (i+j==5){
                if (j==5){
                    for (k=0; k<6; k++){
                        m2[0][k]*=m1[i][j];
                     }
                }
                if (j==4){
                    for (k=0; k<6; k++){
                        m2[1][k]*=m1[i][j];
                     }
                }              
                if (j==3){
                    for (k=0; k<6; k++){
                        m2[2][k]*=m1[i][j];
                     }
                }
                if (j==2){
                    for (k=0; k<6; k++){
                        m2[3][k]*=m1[i][j];
                     }
                }
                if (j==1){
                    for (k=0; k<6; k++){
                        m2[4][k]*=m1[i][j];
                     }
                }
                if (j==0){
                    for (k=0; k<6; k++){
                        m2[5][k]*=m1[i][j];
                     }
                }
            }
        }
    }
    cout<<"A matriz com as linhas multiplicadas pelo elemento da diagonal secundaria das mesmas é\n\n";
    for (i=0; i<t; i++){
        for (j=0; i<6; i++){
            cout<<m2[i][j]<<"\t";
        }
        cout<<"\n";
    }   
return t;
}

int main (){
    int i, j, mat1[6][6], mat2[6][6];
    for (i=0; i<6; i++){
        for (j=0; j<6; j++){
            cout<<"Digite o elemento linha  "<<i+1<<", coluna  "<<j+1<<"  da matriz\t";
            cin>>mat1[i][j];
            mat2[i][j]=mat1[i][j];
        }
    }
   multiplica (mat1, mat2, 6);
system ("pause>null");
return 0;
}

Editado por Ialy
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Fiz desse jeito aki e funfou, quem quiser pode usar o codigo

#include <iostream>
using namespace std;

int multiplica(int m[][6], int m2[][6], int t){
    int i, j, l1=m[0][5], l2=m[1][4], l3=m[2][3], l4=m[3][2], l5=m[4][1], l6=m[5][0];
    for (i=0; i<6; i++){
        m2[0][i]*=l1;
    }for (i=0; i<6; i++){
        m2[1][i]*=l2;
    }for (i=0; i<6; i++){
        m2[2][i]*=l3;
    }for (i=0; i<6; i++){
        m2[3][i]*=l4;
    }for (i=0; i<6; i++){
        m2[4][i]*=l5;
    }for (i=0; i<6; i++){
        m2[5][i]*=l6;
    }
cout<<"A matriz convertida é\n\n\n";
for (i=0; i<t; i++){
    for (j=0; j<6; j++){
        cout<<m2[i][j]<<"\t";
    }
    cout<<"\n";
}
return t;
}

int main (){
    int i, j, mat1[6][6], mat2[6][6];
    for (i=0; i<6; i++){
        for (j=0; j<6; j++){
            cout<<"Digite o elemento linha  "<<i+1<<", coluna  "<<j+1<<"  da matriz\t";
            cin>>mat1[i][j];
            mat2[i][j]=mat1[i][j];
        }
    }
   multiplica (mat1, mat2, 6);
system ("pause>null");
return 0;
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...