Está en la página 1de 6

Solucion parcial final

Santiago Vargas delgado mec d programación 1

1. Dado el siguiente arreglo:

4 7 -5 4 9

0 3 -2 6 -2

1 2 4 1 1

6 1 0 3 -4

Escribir un programa que encuentre la suma de todos los elementos que no pertenecen a la
diagonal principal

Solución

Código

//santiago vargas delgado mec d solucion parcial final 25-05-2021

// punto 1 tema c

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <string.h>

#define N 4

#define M 5

int main()

int sum(int nums[N][M], int sumcol, int sumcol);

void esc(int mat[N][M]);

void main()
{

int mat[N][M]=

{ 4, 7, -5, 4, 9,

0, 3, -2, 6, -2,

1, 2, 4, 1, 1,

6, 1, 0, 3, -4,

sum1=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

sum1+=nums[i][j];

SumFil[i]=sum1;

sum2=0;

for(j=0;j<3;j++)

for(i=0;i<3;i++)

sum2+=nums[i][j];

SumCol[j]=sum2;

printf("\n\t Arreglo nums");

for(int i=0;i<3;i++)

printf("\n\n");

for(int j=0;j<3;j++)

printf("%8d",nums[i][j]);

}
printf("\n\t Arreglo SumFil");

for(i=0;i<3;i++)

printf("\n %3d \t",SumFil[i]);

printf("\n\t Arreglo SumCol");

for(j=0;j<3;j++)

printf("\n %3d \t",SumCol[j]);

printf("\n\n\n");

system("pause");

2. Se dice que una matriz tiene un punto de silla si alguna posición de aquélla es el menor
valor de su fila, y a la vez el mayor de su columna. Escribir un programa que por medio de una
función llamada PuntoSilla, tenga como entrada una matriz de números reales, y calcule la
posición de un punto de silla en caso de existir.

Solución

Código

//santiago vargas delgado mec d 25-05-2021

//punto 2 tema c

#include <stdio.h>

int puntoSilla(int mat[4][3], int posFila, int posColumna);

void escribeMat(int mat[4][3]);

int nums[4][3];

int SumCol[3];

int SumFil[3];
int i;

int j;

int sum1;

int sum2;

for(int i=0;i<3;i++)

for(j=0;j<3;j++)

printf("\n\t Ingrese un valor entero: ");

fflush(stdin);

scanf("%d",&nums[i][j]);

printf("\n");

escribeMat(mat);

if(puntoSilla(mat, posFila, posColumna)==1)

printf("Tiene punto de silla en la posicion %d-%d", posFila, posColumna);

else printf("No hay punto de silla");

int puntoSilla(int mat[N][M], int posFila, int posColumna)


{

int i, j, enc=0;

for(i=0; i<N && !enc; i++)

for(j=0; j<M && !enc; j++)

if(mat[posColumna][posFila]>mat[posFila][j] &&
mat[posColumna][posFila]<mat[i][posColumna])

enc=1;

return enc;

void escribeMat(int mat[N][M])

int i, j;

for(i=0; i<N; i++)

for(j=0; j<M; j++)

printf("%4d", mat[i][j]);

printf("\n");

También podría gustarte