domingo, 26 de abril de 2015

Linguagem C - Matriz unidimensional - Exemplo 1

O objetivo desse programa em C é preencher uma matriz unidimensional inteira (int) qualquer e imprimir seus números distintos na tela (ou seja, sem repeti-los).
Nível de dificuldade: 3 (difícil)
O código (verde) está explicado com comentários (em azul), pronto para ser copiado e colado no seu ambiente de edição favorito:
#include <stdio.h>

int main( void)
{
    int i; int j;
    int iguais; /* para contar quantos numeros do numerosjalidos [] sao iguais a detemrinado numero em determinada posicao do                     vetornumeros[]*/
    int posicaonumerosjalidos=0; /* inteiro auxiliar que guarda a posicao no vetor do numerosjalidos[] */
    int vetornumeros[9];   /* o vetor com todos os números */
    int numerosjalidos[9]; /* o vetor que vai ter todos os numeros do vetornumeros[] e na mesma ordem,
so que sem repetir nenhum numero*/

            /* Esse programa tem como funcao receber numeros de um vetor de numeros e imprimir a tela esses numeros sem repeti-los e na ordem em que entraram no vetor */

    printf ("declare agora os numeros do vetor de numeros: \n");

    for (i=0;i<=9;i++)
        {
            printf ("\nEntre com o valor do numero na posicao %d no vetor de numeros: ",i);
            scanf ("%d", &vetornumeros[i]);
        }

     

    numerosjalidos[0]=vetornumeros[0];


    for (i=0;i<=9;i++)
        {
            iguais=0;
            for (j=0;j<=posicaonumerosjalidos;j++) /* hora de fazer a varredura (loop ou laco de repeticao) */
            {
                if  (vetornumeros[i]==numerosjalidos[j])
                {
                    
                    iguais++;
                }
              
            }
            if (iguais == 0 )
            {

                numerosjalidos[posicaonumerosjalidos +1] = vetornumeros[i];

                posicaonumerosjalidos++;
             
            }
               
        }
    for (i=0;i<=posicaonumerosjalidos;i++)
        {
            printf ("\n Numero posicao %d eh: %d",i,numerosjalidos[i]);

        }
    printf ("\n\n Seu programa terminou! \n",i,numerosjalidos[i]);
    system ("pause");

}


Nenhum comentário:

Postar um comentário