segunda-feira, 5 de dezembro de 2011

Cálculos com Matriz em C

Cálculos com Matriz: Dada uma matriz M, determine a linha de M que possui a maior soma de seus
elementos; Qual o menor elemento de M; Quantos elementos pares M possui; Quantos elementos são
divisíveis por 3 e Quantos zeros M contem.



#include <stdio.h>
#include <stdlib.h>


int funcao()
{
    int i,j,cont=0,cont2=0, aux=0,l=0, par=0, aux2=0, aux3=0;
    float soma=0, linha=0,menor=1000000000;

    printf("Informe o valor de linhas e colunas da matriz:\n");
    scanf("%d %d", &i,&j);

    system("cls");

    if ((i != 0) && (j !=0))
    {
        i=i-1;
        j=j-1;

        float M[i][j];
        float somas[i];

        for (int n=0;n<=i; n++)
        {
            cont=cont+1;
            cont2=0;



                for (int c=0;c<=j; c++)
                {

                    cont2=cont2+1;
                    printf("Informe o valor da linha %d e coluna %d: ", cont,cont2);
                    scanf("%f", &M[n][c]);

                    soma=M[n][c]+soma;

                    if (M[n][c] < menor)
                    {
                        menor=M[n][c];
                    }

                    par=M[n][c];

                    if (par % 2 == 0)
                    {
                        aux=aux+1;
                    }

                    if (par == 0)
                    {

                    }
                    else{
                        if (par % 3 == 0)
                        {
                            aux2=aux2+1;
                        }
                    }

                    if (par == 0)
                    {
                        aux3=aux3+1;
                    }



                }
                somas[n]=soma;
                soma=0;

                if (linha < somas[n])
                {
                    linha=somas[n];
                    l=cont;
                }


            }


            printf("\n\n\nA linha %.0d tem a maior soma com valor de: %.0f. \n", l, linha);
            printf("O menor elemento eh: %.0f. \n", menor);

            if (aux > 0)
            {
                   printf("A matriz possui %.0d elementos pares.\n", aux);
            }
            else
            {
                   printf("A matriz nao possui elementos pares.\n");
            }

            if (aux2 > 0)
            {
                    printf("A matriz possui %.0d elemento que sao divisiveis por 3.\n", aux2);
            }
            else
            {
                   printf("A matriz nao possui elementos divisiveis por 3.\n");
            }

            if (aux3 > 0)
            {
               printf("A matriz possui %.0d zero.\n", aux3);
            }
            else
            {
               printf("A matriz nao possui zero.\n");
            }
    }
    else
    {
        printf("\n\nEstes valores nao formam uma MATRIZ.\n\n");
    }
}



int main()
{
    system("color 0A");
    funcao();

    return 0;
}

Nenhum comentário:

Postar um comentário