tenho o primeiro trabalho que fiz, esse que acabei de postar é o complemento também tenho um exemplo porém não consegui compreender
exemplo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 10
int matrix[N][N],linha,coluna;
void erro(){
system("cls");
printf("voce inseriu um valor superior ou inexistente para a linha ou a coluna da matriz!\n");
if(linha && coluna){
printf("Os valores maximos de linhas sao %d e colunas sao %d\n",linha,coluna);
printf("E devem estar concentrados no intervalo de 1 ate o maximo.\n");
}
system("pause");
}
void criamatrix(){
int i,j;
system("cls");
printf("Coloque a quantidade de linhas da matriz: ");
scanf("%d",&linha);
printf("Coloque a quantidade de colunas da matriz: ");
scanf("%d",&coluna);
system("cls");
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
printf("Coloque o elemento %d,%d ", i + 1, j + 1);
scanf("%d", &matrix[j]);
}
}
system("cls");
}
void somax(int x){
system("cls");
int i, j, soma = 0;
for(i = x; i <= x; i++){
for(j = 0;j < coluna; j++){
soma += matrix[i-1][j];
}
}
for(i = 0; i < linha; i++){
printf("| ");
for(j = 0;j < coluna; j++){
printf("%-3d ", matrix[j]);
}
printf("|\n");
}
printf("A soma da linha %d da matriz e: %d\n\n\n",x,soma);
system("pause");
}
void somay(int y){
system("cls");
int i, j, soma = 0;
for(i = 0; i <= linha; i++){
for(j = y; j <= y; j++){
soma += matrix[j-1];
}
}
for(i = 0; i < linha; i++){
printf("| ");
for(j = 0; j < coluna; j++){
printf("%-3d ",matrix[j]);
}
printf("|\n");
}
printf("A soma da coluna %d da matriz e: %d\n\n\n",y,soma);
system("pause");
}
void somadp(){
system("cls");
int i, j, soma = 0;
for(i = 0; i < linha; i++){
for(j = i; j <= i; j++){
soma += matrix[j];
}
}
for(i = 0; i < linha; i++){
printf("| ");
for(j = 0; j < coluna; j++){
printf("%-3d ", matrix[j]);
}
printf("|\n");
}
printf("A soma da diagonal principal da matriz e: %d\n\n\n",soma);
system("pause");
}
void somads(){
system("cls");
int i, j, soma = 0;
for(i = 0; i < linha; i++){
for(j = coluna-i; j >= coluna-i; j--){
soma += matrix[j-1];
}
}
for(i = 0; i < linha; i++){
printf("| ");
for(j = 0; j < coluna; j++){
printf("%-3d ", matrix[j]);
}
printf("|\n");
}
printf("A soma da diagonal secundaria da matriz e: %d\n\n\n",soma);
system("pause");
}
void somaall(){
system("cls");
int i, j, soma = 0;
for(i = 0; i < linha; i++){
for(j = 0; j < coluna; j++){
soma += matrix[j];
}
}
for(i = 0; i < linha; i++){
printf("| ");
for(j = 0; j < coluna; j++){
printf("%-3d ", matrix[j]);
}
printf("|\n");
}
printf("A soma total da matriz e: %d\n\n\n",soma);
system("pause");
}
void creditos(){
system("cls");
printf("+-----------------------------------------------------------+\n");
printf("|Programa Desenvolvido Por: |\n");
printf("| Elenilton J. Dezengrini |\n",130);
printf("| 15/10/2016 09:15 |\n");
printf("+-----------------------------------------------------------+\n\n\n");
}
void opcao(){
int x;
system("cls");
do{
system("cls");
printf("Escolha uma das opções para execucao do programa.\n");
printf("+------------------------------------------------------------------------------+");
printf("| |");
printf("| |");
printf("|1)Criar uma matriz. [linha x coluna] |");
printf("|2)Somar elementos da linha X da matriz. |");
printf("|3)Somar elementos da coluna Y da matriz. |");
printf("|4)Somar elementos da Diagonal Principal. |");
printf("|5)Somar elementos da Diagonal Secundaria. |");
printf("|6)Todos os elementos da Matriz. |");
printf("|7)Mostrar Creditos e sair. |");
printf("| |");
printf("+------------------------------------------------------------------------------+");
scanf("%d",&x);
}
while(x < 1 || x > 7);
switch(x){
case 1:{
criamatrix();
opcao();
break;
}
case 2:{
int x;
system("cls");
printf("Coloque a linha que quer realizar a soma?\n");
scanf("%d",&x);
if(x > linha || x <= 0)
erro();
somax(x);
opcao();
break;
}
case 3:{
int y;
system("cls");
printf("Coloque a coluna que quer realizar a soma?\n");
scanf("%d",&y);
if(y > linha || y <= 0)
erro();
somay(y);
opcao();
break;
}
case 4:{
somadp();
opcao();
break;
}
case 5:{
somads();
opcao();
break;
}
case 6:{
somaall();
opcao();
break;
}
case 7:{
creditos();
break;
}
}
}
void menu(){
system("cls");
int x;
printf("+--------------------------------------------------------+\n");
printf("| Bem vindo ao Programa Soma da Matriz |\n");
printf("| |\n");
printf("| Escolha a opcao: |\n");
printf("| |\n");
printf("| 1)Entrar no Somador |\n");
printf("| 2)Ver Creditos e Sair |\n");
printf("| |\n");
printf("| |\n");
printf("+--------------------------------------------------------+\n");
do{
scanf("%d",&x);
}
while(x < 1 || x > 2);
if(x == 1)
opcao();
else
creditos();
getch();
}
int main(){
menu();
return(0);
}