jueves, 4 de octubre de 2012

PROBLEMA 1 (MATRICES)

 De la serie de Problemas para empezar a programar en C/C++: PROBLEMA NUMERO 1.

Programa que a partir de una matriz obtenga el elemento de menor y mayor tmaño asi como la suma de sus columnas y filas:

SOLUCION:

#include <stdio.h>

void PideDatos(float M[][100], int *fils, int *cols);
void BuscaMenorMayor(float M[][100], int fils, int cols);
void SumaColumnasFilas(float M[][100], int fils, int cols);

int main(void)
{
    float Matriz[100][100];
    int C,F;/*Nº DE COLUMNAS Y FILAS*/
   
    PideDatos(Matriz,&F,&C);
    BuscaMenorMayor(Matriz,F,C);
    SumaColumnasFilas(Matriz,F,C);
    /*scanf("");*/
}

void PideDatos(float M[][100], int *fils, int *cols)
{
    int a,b;
   
    printf("\n\nIntrouce el numero de filas:");
    scanf("%d", &*fils);
    printf("\n\nIntrouce el numero de Columnas:");
    scanf("%d", &*cols);printf("\n\n");
   
    for(a=1;a<=*fils;a++) for(b=1;b<=*cols;b++)
    {
        printf("Introduce el termino [%d][%d]", a,b);
        scanf("%f",&M[a][b]);
    }
}

void BuscaMenorMayor(float M[][100], int fils, int cols)
{
    int a,b;
    float menor,mayor;
    menor=M[1][1];
    mayor=M[1][1];
   
    for(a=1;a<=fils;a++) for(b=1;b<=cols;b++)
    {
        if (M[a][b]>mayor) mayor=M[a][b];
        if (M[a][b]<menor) menor=M[a][b];
    }
    printf("El mayor valor es: %f", mayor);
    printf("El menor valor es: %f", menor);
}

void SumaColumnasFilas(float M[][100], int fils, int cols)
{
    int a,b;
    float suma;
   
    for(a=1;a<=fils;a++)
    {
        suma=0;
        for(b=1;b<=cols;b++)
        {
            suma=(suma+M[a][b]);
        }
        printf("\nLa suma de la fila %d vale: %f",a,suma);
    }
   
    for(a=1;a<=cols;a++)
    {
        suma=0;
        for(b=1;b<=fils;b++)
        {
            suma=suma+M[b][a];
        }
        printf("\nLa suma de la columna %d vale: %f",a,suma);
    }
}


Un Saludo!

No hay comentarios:

Publicar un comentario