Top Sertanejo

segunda-feira, 5 de dezembro de 2011

Brincando com Matriz

Brincando com matriz: Seja a seguinte declaração float numeros[LINHA][COLUNA]. Escrever um
programa capaz de:
• Ler os elementos da matriz.
• Identificar o número de elementos iguais a zero em cada uma das linhas.
• Identificar o número de elementos iguais a zero em cada uma das colunas.
• Identificar o número de elementos pares em determinada linha (lida)
• Identificar o número de elementos pares em determinada coluna (lida)
• Calcular a média aritmética dos elementos de cada uma das linhas, armazenando esses valores em
um vetor.
• Identificar a linha que tem a maior media de seus elementos.
• Imprimir todos os resultados.
conforme código fonte abaixo:

int main()
{
    int i,j,l=0,cont=0,cont2=0,aux=0, contador=0,cont3=-1, aux4=0,contar=0;
    int cont4=-1,cont5=0,valor, cont6=-1,aux2=0,cont7=-1, posicao=0, posi=0,cont8=1;
    float media1=0,maior=0,soma=0, valor2=0;

    printf("informe a linha ");
    scanf("%d",& i);
    printf("informe a coluna ");
    scanf("%d",& j);
    if ((i != 0) && (j != 0))
    {
        float numeros[i][j];
        float zero[i];
        float colunazero[j];
        int par[i];
        int parCol[j];
        float media[i];
        for (int c=0;c<j; c++)
        {
            colunazero[c]=0;
            parCol[c]=0;
        }
        for (int n=0;n<i; n++)
        {
            cont=cont+1;
            cont2=0;
            aux=0;
            cont6=-1;
            cont8=-1;
            aux2=0;
            soma=0;
            media1=0;
                for (int c=0;c<j; c++)
                {
                    cont2=cont2+1;
                    printf(" linha %d  coluna %d: ", cont,cont2);
                    scanf("%f", &numeros[n][c]);
                    cont6=cont6+1;
                    cont8=cont8+1;
                    cont5=0;
                    cont7=0;
                    valor=numeros[n][c];
                    valor2=numeros[n][c];
                    if (valor == 0)
                    {
                        aux=aux+1;
                        cont5=cont5+1;
                    }
                    colunazero[cont6]= cont5 + colunazero[cont6];
                    if (valor % 2 == 0)
                    {
                        aux2=aux2+1;
                        cont7=cont7+1;
                    }
                    parCol[cont8]=cont7 + parCol[cont8];
                    soma=soma+valor2;
                }
                if (aux > 0)
                {
                    zero[n]=aux;
                    aux4=aux4+1;
                }
                else
                {
                    zero[n]=0;
                }
                aux=0;
                if (aux2 > 0)
                {
                    par[n]=aux2;
                }
                else
                {
                    par[n]=0;
                }
                media1=(soma/j);
                media[n]=media1;
                if (media1 > maior)
                {
                    maior=media1;
                    l=cont;
                }
        }
        do
        {
            printf("\nem que linha deseja saber os pares\n");
            scanf("%d", &posicao);
            posi=posicao-1;
            if (posicao > i)
            {
                printf("\n NAO POSSUI ESTA LINHA, INFORME NOVAMENTE:\n");
            }
        }while(posicao > i);
        int posicao2=0;
        int posi2=-1;
        do
        {
            printf("\nem que coluna deseja saber os pares\n");
            scanf("%d", &posicao2);
            posi2=posicao2-1;
            if (posicao2 > j)
            {
                printf("\nNAO PUSSUI ESTA COLUNA, INFORME NOVAMENTE\n");
            }
        }while(posicao2 > j);
        do
        {
            cont3=cont3+1;
            contador=contador+1;
            if (zero[cont3] > 0)
            {
                printf("\nA linha %d contem %.0f elementos iguais a zero.",contador, zero[cont3]);
            }
            else
            {
                printf("\nA linha %d NAO contem elementos iguais a zero.", contador);
            }

        } while (contador < i);
        do
        {
            cont4=cont4+1;
            contar=contar+1;
            if (colunazero[cont4] > 0)
            {
                printf("A coluna %d tem %.0f elementos iguais a zero.\n", contar, colunazero[cont4]);
            }
            else
            {
                printf("A coluna %.0d NAO tem elementos iguais a zero.\n", contar);
            }

        } while (contar < j);
        if (par[posi] < 1)
        {
            printf("\nA linha %.0d NAO tem numeros pares.\n", posicao);
        }
        else
        {
            printf("\nA linha %d tem %d numeros pares.\n ", posicao, par[posi]);
        }
        if (parCol[posi2] > 0)
        {
            printf("\nA coluna %d contem %d numeros pares.\n ", posicao2, parCol[posi2]);
        }
        else
        {
            printf("\nA coluna %d nao cotem numeros pares.\n", posicao2);
        }
        int contar2=0,cont9=-1;
        do
        {
            contar2=contar2+1;
            cont9=cont9+1;
            printf("A media da linha %d é %.2f.\n", contar2, media[cont9]);
        } while (contar2 < i);
        printf("\nA linha com a maior media eh a %.0d com valor de %.2f.\n", l,maior);
       }
    else
    {
        printf("\nOS VALORES INFORMADOS NÃO FORMAM MATRIZ.\n");
    }
}


Nenhum comentário:

Postar um comentário