#include #include main() { int k,p,m,n,op; float escalar; while ((m < 2 || m > 300) || (n < 2 || n > 300)) { system("cls"); printf("Digite o numero de linhas: "); scanf("%d", &m); printf("Digite o numero de colunas: "); scanf("%d", &n); } float matriz[m][n],transp[m][n],mult[m][n],soma[m][n]; float diagonal[m]; printf("Digite os elementos da matriz\n\n"); for (k=0;k<=m-1;k++) { printf("\n"); for (p=0;p<=n-1;p++) scanf("%f", &matriz[k][p]); } printf("\n Escolha uma das opções: "); printf("\n"); printf("1 - Imprimir na tela a diaginal principal\n"); printf("2 - Imprimir na tela a matriz transposta\n"); printf("3 - Imprimir na tela a mutiplicação da matriz por um escalar\n"); printf("4 - Imprimir na tela a soma dos elementos da matriz com um escalar\n"); scanf("%d", &op); if (op==1) { if (m != n) printf("Erro: matriz nao quadrada"); else for (k=0;k<=m-1;k++) diagonal[k] = matriz[k][k]; } if (op==2) { for (k=0;k<=m-1;k++) for(p=0;p<=n-1;p++) transp[k][p] = matriz[p][k]; } if (op==3) { printf("Digite um numero: "); scanf("%f", &escalar); for (k=0;k<=m-1;k++) for(p=0;p<=n-1;p++) mult[k][p] = matriz[k][p]*escalar; } if (op==4) { printf("Digite um numero: "); scanf("%f", &escalar); for (k=0;k<=m-1;k++) for(p=0;p<=n-1;p++) soma[k][p] = matriz[k][p]+escalar; } printf("\n Matriz = \n"); for (k=0;k<=m-1;k++) { printf("\n"); for(p=0;p<=n-1;p++) printf(" %.2f", matriz[k][p]); } printf("\n\n"); if (op==1) { printf("Diagonal principal: "); for (k=0;k<=m-1;k++) printf(" %.2f", diagonal[k]); } if (op==2) { printf("Matriz transposta: \n"); for (k=0;k<=m-1;k++) { printf("\n"); for(p=0;p<=n-1;p++) printf(" %.2f", transp[k][p]); } } if (op==3) { printf("Matriz x %.2f: \n", escalar); for (k=0;k<=m-1;k++) { printf("\n"); for(p=0;p<=n-1;p++) printf(" %.2f", mult[k][p]); } } if (op==4) { printf("Matriz + %.2f: \n", escalar); for (k=0;k<=m-1;k++) { printf("\n"); for(p=0;p<=n-1;p++) printf(" %.2f", soma[k][p]); } } }