segunda-feira, 27 de fevereiro de 2017

Elementos comuns entre dois arrays de inteiros

Penso comigo que o carnaval de um programador
é programando, e este já é o quinto desfile
de ontem pra hoje.
Com este passe de animação, mostro como separar
números comuns entre dois arrays de inteiros,
exibindo ainda a quantidade de vezes que o
mesmo se repete no array B.

Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:


public class PROJETO {
     public static int  tam  = 20;

     public static int Vet_Num ( int Num [ ], int di [ ] ) {
         J jht = new J ( );
         int i, q = 0, h = 0, k = 0, x = 0;
         int j, vezes;
         int [ ] Vet = new int [ tam ];
         //Neste bloco copiamos os dois arrays no array Vet [ ];
         for ( i = 0; i < Num.length; i++ ) {
              for ( q = 0; q < Num.length; q++ ) {
                   if ( Num [ i ] == di [ q ] ) {
                        Vet [ h ] = di [ q ];
                        h++;
                   }
              }
         }
         k = h;
         // //////////////////////////////////////////////////////////////
         //Com este bloco de código contamos o número de vezes
         //que um número aparece no array, excluindo repetidos
         for ( x = 0; x < k; x++ ) {
              vezes = 1;
              j = x + 1;
              while ( j < k )
                   if ( Vet [ j ] != Vet [ x ] )
                        j++;
                   else {
                        vezes++;
                        //exclui
                        k--;
                        Vet [ j ] = Vet [ k ];
                   }
              if ( vezes >= 1 ) {
                   jht.textcolor ( jht.LIGHTBLUE );
                   jht.gotoxy ( ( int ) 20, ( int ) x + 17 );
                   System.out.printf ( "O Número " );
                   jht.textcolor ( jht.LIGHTRED );
                   System.out.printf ( "%d", Vet [ x ] );
                   jht.textcolor ( jht.LIGHTBLUE );
                   System.out.printf ( " é comum e ocorre" );
                   jht.textcolor ( jht.LIGHTRED );
                   System.out.printf ( " %d ", vezes );
                   jht.textcolor ( jht.LIGHTBLUE );
                   System.out.printf ( "vezes no array B" );
              }
         }
         // //////////////////////////////////////////////////////////////
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 26, ( int ) 13 );
         System.out.printf ( "Números comuns nos dois arrays" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 26, ( int ) 15 );
         for ( x = 0; x < k; x++ ) {
              System.out.printf ( " %d ", Vet [ x ] );
         }
         jht.getche ( );
         return 0;
     }
     public static void main ( String args [ ] ) {
         J jht = new J ( );
         jht.textbackground ( jht.WHITE );
         jht.Moldura ( ( short ) 1, ( short ) 27, ( short ) 2, ( short ) 78 );
         jht.title ( " " );
         int i, nr;
         int A [ ] = { 2, 7, 3, 5, 1, 9, 4, 8, 0, 6 };
         int B [ ] = { 9, 7, 9, 7, 5, 9, 5, 9, 6, 7 };
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 26, ( int ) 3 );
         System.out.printf ( "ELEMENTOS COMUNS ENTRE DOIS ARRAYS" );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 26, ( int ) 5 );
         System.out.printf ( "Imprimindo abaixo o array A" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 26, ( int ) 7 );
         for ( i = 0; i < 10; i++ ) {
              System.out.printf ( " %d ", A [ i ] );
         }
         jht.getche ( );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 26, ( int ) 9 );
         System.out.printf ( "Imprimindo abaixo o array B " );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 26, ( int ) 11 );
         for ( i = 0; i < 10; i++ ) {
              System.out.printf ( " %d ", B [ i ] );
         }
         jht.getche ( );
         nr = Vet_Num ( B, A );
         jht.textcolor ( jht.LIGHTBLUE );
         jht.gotoxy ( ( int ) 20, ( int ) 22 );
         jht.Sleep ( ( short ) 1800 );
         System.out.printf ( "Por: " );
         jht.textcolor ( jht.LIGHTMAGENTA );
         System.out.printf ( "Samuel Lima" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 20, ( int ) 23 );
         System.out.printf ( "sa_sp10@hotmail.com" );
         jht.Sleep ( ( short ) 1800 );
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 34, ( int ) 25 );
         System.out.printf ( "MUITO OBRIGADO" );
         jht.getche ( );
     }
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.