Skip to content

Instantly share code, notes, and snippets.

@cbedoy
Created July 8, 2020 06:37
Show Gist options
  • Select an option

  • Save cbedoy/1cbe82845322d8a48130feb943cefde6 to your computer and use it in GitHub Desktop.

Select an option

Save cbedoy/1cbe82845322d8a48130feb943cefde6 to your computer and use it in GitHub Desktop.
codeeee amigaaaa
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 5
void showMenu(){
printf("\n\nSelecciona:\n");
printf("1) Crear matrix\n");
printf("2) Sumar matrix\n");
printf("3) Suma diagonal\n");
printf("4) Suma tringular\n");
printf("-1) Salir\n");
}
void fillMatrix(int mx[SIZE][SIZE]){
srand(time(NULL));
int i = 0, j = 0;
for(i=0; i<SIZE; i++){
for(j=0; j<SIZE; j++){
mx[i][j] = (rand() % 9);
}
}
}
void printMatrix(int mx[SIZE][SIZE]){
int i = 0, j = 0;
for(i=0; i<SIZE; i++){
printf("\n");
for(j=0; j<SIZE; j++){
printf("[%d] ", mx[i][j]);
}
}
}
void sumMatrix(int a[SIZE][SIZE], int b[SIZE][SIZE], int c[SIZE][SIZE]){
int i = 0, j = 0;
for(i=0; i<SIZE; i++){
for(j=0; j<SIZE; j++){
c[i][j] = a[i][j] + b[i][j];
}
}
}
int diagonalSumatory(int c[SIZE][SIZE]){
int i = 0, j = 0, result = 0;
for(i=0; i<SIZE; i++){
result += c[i][i];
}
return result;
}
int sumaTriangular(int c[SIZE][SIZE]){
int i = 0, j = 0, result = 0;
for(i=0; i<SIZE; i++){
for(j=i; j<SIZE; j++){
result += c[i][j];
}
}
return result;
}
void clearMatrix(int mx[SIZE][SIZE]){
int i = 0, j = 0;
for(i=0; i<SIZE; i++){
for(j=0; j<SIZE; j++){
mx[i][j] = 0;
}
}
}
int main(void) {
int matrixA[SIZE][SIZE];
int matrixB[SIZE][SIZE];
int matrixC[SIZE][SIZE];
int i = 0, j = 0, opt = 0;
while(opt != -1){
showMenu();
scanf("%d", &opt);
switch(opt) {
case 1: {
clearMatrix(matrixA);
clearMatrix(matrixB);
clearMatrix(matrixC);
fillMatrix(matrixA);
fillMatrix(matrixB);
printf("\nMatrix A:\n");
printMatrix(matrixA);
printf("\nMatrix B\n");
printMatrix(matrixB);
break;
}
case 2: {
sumMatrix(matrixA, matrixB, matrixC);
printf("\nMatrix C:\n");
printMatrix(matrixC);
break;
}
case 3: {
int result = diagonalSumatory(matrixC);
printf("\nMatrix C:\n");
printMatrix(matrixC);
printf("\nLa sumatoria de la dialonal es: %d\n", result);
break;
}
case 4: {
int result = sumaTriangular(matrixC);
printf("\nMatrix C:\n");
printMatrix(matrixC);
printf("\nLa suma tringular superior es: %d\n", result);
break;
}
default: {
printf("Entrada invalida.");
}
}
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment