segunda-feira, 27 de fevereiro de 2017

Caracteres comuns entre dois arrays

Um exemplo perfeito para comparação de dois arrays de chars
é o que eu trago agora.
Você pode achar isto muito fácil de fazer,
más por favor entenda que existem centenas de iniciantes
começando a programar agora, e precisam de ajuda,
e é isto que estou fazendo, compartilhando minhas
habilidades com quem não sabe, más que tem muito interesse
em aprender.
O programa traz dois arrays de chars pré-definidos,
que logo depois da impressão no vídeo, são copiados,
num terceiro array de chars, em seguida, temos um bloco
de código que elimina os caracteres repetidos no terceiro array,
e imprime quantas vezes os caracteres comuns se repetem
no array B, acompanhe esta imagem abaixo:


Abaixo está o código do programa:



public class PROJETO {
     public static int  tam  = 20;

     public static int Vet_Num ( char Num [ ], char 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 caracter 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 Caracter " );
                   jht.textcolor ( jht.LIGHTRED );
                   System.out.printf ( "%c", 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 ( "Caracteres comuns nos dois arrays" );
         jht.textcolor ( jht.BLACK );
         jht.gotoxy ( ( int ) 26, ( int ) 15 );
         for ( x = 0; x < k; x++ ) {
              System.out.printf ( " %c ", 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;
         char [ ] A = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' };
         char [ ] B = { 'j', 'b', 'f', 'j', 'b', 'f', 'j', 'b', 'i', 'j' };
         jht.textcolor ( jht.LIGHTRED );
         jht.gotoxy ( ( int ) 26, ( int ) 3 );
         System.out.printf ( "CARACTERES 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 ( " %c ", 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 ( " %c ", 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.