danieliangels 0 Denunciar post Postado Outubro 21, 2006 o exercicio é esse: void diagonalsecundária(float mat[4][4], float *resultado); Recebe uma matriz de 4x4 e retorna a soma da diagonal secundária. EU O FIZ MAS COM A SOMA DE 4X4 O MEU PROBLEMA É QUE NÃO ESTOU CONSEGUINDO FAZER A SEPARAÇÃO DA SOMA DA DIAGONAL SECUNDARIA, SE ALGUEM PUDER ME DAR ALGUMAS DICAS FICAREI GRATA, BJOS. #include <stdio.h> main() { int i,j; float p[4][4], q[4][4];// matrizes dados float m[4][4]; // matriz soma a calcular // Introduza os elementos da 1ª matriz for(i=0; i<4; i=i+1) // para cada linha for(j=0; j<4; j=j+1) { // e para cada coluna printf("Elemento p[%d][%d]:\n", i,j); scanf("%f", &p[j]); } // Introduza os elementos da 2ª matriz for(i=0; i<4; i=i+1) // para cada linha for(j=0; j<4; j=j+1) { // e para cada coluna printf("Elemento q[%d][%d]:\n", i,j); scanf("%f", &q[j]); } // calcula a matriz soma for(i=0; i<4; i=i+1) // para cada linha for(j=0; j<4; j=j+1) // e para cada coluna m[j] = p[j] + q[j]; printf("Matriz soma:\n"); // Escreve a matriz soma for(i=0; i<=3; i=i+1) { // para cada linha for(j=0; j<=3; j=j+1) // e para cada coluna printf("%f",m[j]); printf("\n"); // muda de linha } } Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Outubro 21, 2006 Recebe uma matriz de 4x4 e retorna a soma da diagonal secundária.Se recebe UMA matriz, pra que você pegou duas matrizes?Pelo que eu entendi ele simplesmente quer que você some a diagonal secundária, o que deve retornar um float. Não pediu para você formar nenhuma nova matriz... Compartilhar este post Link para o post Compartilhar em outros sites
Palc 0 Denunciar post Postado Outubro 22, 2006 Matriz 4x4:a11 a12 a13 a14a21 a22 a23 a24a31 a32 a33 a34a41 a42 a43 a44Soma dos elementos da diagonal secundária: a14 + a23 + a32 + a41{}Palc Compartilhar este post Link para o post Compartilhar em outros sites
sublyer 0 Denunciar post Postado Novembro 1, 2006 Não seria somar os elementos que estão nas colunas e linhas iguaisExemplo 0 1 2 30 a11 a12 a13 a141 a21 a22 a23 a242 a31 a32 a33 a343 a41 a42 a43 a44some as posiçoes [0][3] + [1][2] + [2][1] + [3][0]Não seria isso? ou tem mais coisa?? Compartilhar este post Link para o post Compartilhar em outros sites
danieliangels 0 Denunciar post Postado Novembro 3, 2006 ola pessoal agradeço#include<stdio.h> void diagonalsecundaria(float mat[4][4], float *resultado); main() { float resultado; float mat[4][4]; int i,j; //entrada de dados for(i=0;i<4;i++) for(j=0;j<4;j++) { printf("Elemento [%d,%d] : ",i+1,j+1); scanf("%f",&mat[j]); } diagonalsecundaria(mat,&resultado); printf("A soma da diagonal secundaria e %.2f\n ",resultado); fflush(stdin); getchar(); } void diagonalsecundaria(float mat[4][4], float *resultado) { int i,j; *resultado=0; for(i=0;i<4;i++) (*resultado)+=mat[3-i]; return; } pelas tentativas, aqui esta o que eu consegui fazer, e esta certinho.bjos Compartilhar este post Link para o post Compartilhar em outros sites
Sopiseiro 0 Denunciar post Postado Novembro 13, 2006 Use logica matematica e mais facil if (i+j== n+1) entao e diagonal secundaria, some os elementosonde n e os numeros de elementos da mxn Compartilhar este post Link para o post Compartilhar em outros sites