domingo, 19 de abril de 2015

Caracteres comuns entre dois vetores

A impressão de textos na tela do console é feita por meio de string
Que são nada mais que uma sequência de caracteres.
Mesmo não tendo um tipo de dados originais para string,
como em algumas outras linguagens, podemos criar vetores de caracteres do tipo char,
 para armazenagens de textos.
Criei dois vetores do tipo char e inicializei cada caractere com aspas simples,
 com o objetivo de imprimi-los separadamente, e para facilitar as comparações.
O código sofreu poucas modificações que são simples pra quem já programa
porém pode ser difícil para quem está iniciando agora fazer estas alterações,
más com o exemplo passado aqui tudo se torna esclarecido.

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


Veja abaixo o código do programa:


#include <stdio.h>
#include <conio.h>
void Janela5 ( ) {
     int lin, col;
     for ( lin = 0; lin <= 25; lin++ ) {
         for ( col = 0; col <= 80; col++ ) {
              gotoxy ( col, lin );
              if ( lin == 2 ) {
                   textbackground ( LIGHTBLUE );
                   printf ( " " );
              }
              if ( col == 1 ) {
                   textbackground ( LIGHTBLUE );
                   printf ( " " );
              }
              if ( lin == 25 ) {
                   textbackground ( LIGHTBLUE );
              }
              if ( col == 80 ) {
                   textbackground ( LIGHTBLUE );
                   printf ( " " );
              }
         }
     }
     textbackground ( BLACK );
}
int Vet_Num ( char Num [ 10 ], char di [ 10 ] ) {
     int i, q, h = 0, k;
     char Vet [ 10 ];
     int j, vezes;
     for ( i = 0; i < 10; i++ ) {
         for ( q = 0; q < 10; q++ ) {
              if ( Num [ i ] == di [ q ] ) {
                   Vet [ h ] = di [ q ];
                   h++;
              }
         }
     }
     k = h;
     textcolor ( LIGHTBLUE );
     gotoxy ( 26, 13 );
     printf ( "Caracteres comuns nos dois vetores" );
     textcolor ( WHITE );
     gotoxy ( 26, 15 );
     for ( h = 0; h < k; h++ ) {
         printf ( " %c ", Vet [ h ] );
     }
     getche ( );
     for ( i = 0; i < k; i++ ) {
         vezes = 1;
         j = i + 1;
         while ( j < k )
              if ( Vet [ j ] != Vet [ i ] )
                   j++;
              else {
                   vezes++;
                   k--;
                   Vet [ j ] = Vet [ k ];
              }
         if ( vezes > 0 ) {
              textcolor ( LIGHTBLUE );
              gotoxy ( 20, i + 17 );
              printf ( "O Caractere " );
              textcolor ( LIGHTRED );
              printf ( "%c", Vet [ i ] );
              textcolor ( LIGHTBLUE );
              printf ( " é comum e ocorre" );
              textcolor ( LIGHTRED );
              printf ( " %d ", vezes );
              textcolor ( LIGHTBLUE );
              printf ( "vezes no vetor B" );
         }
     }
     return 0;
}
int main ( ) {
     system ( "title CARACTERES COMUNS ENTRE DOIS VETORES" );
     int i, nr;
     Janela5 ( );
     char A [ 10 ] = { 'j', 'd', 'a', 'i', 'h', 'b', 'f', 'c', 'g', 'e' };
     char B [ 10 ] = { 'j', 'd', 'j', 'd', 'i', 'j', 'a', 'j', 'i', 'd' };
     textcolor ( LIGHTRED );
     gotoxy ( 26, 3 );
     printf ( "CARACTERES COMUNS ENTRE DOIS VETORES" );
     textcolor ( LIGHTBLUE );
     gotoxy ( 26, 5 );
     printf ( "Imprimindo abaixo o vetor A " );
     textcolor ( WHITE );
     gotoxy ( 26, 7 );
     for ( i = 0; i < 10; i++ ) {
         printf ( " %c ", A [ i ] );
     }
     textcolor ( LIGHTBLUE );
     gotoxy ( 26, 9 );
     printf ( "Imprimindo abaixo o vetor B " );
     textcolor ( WHITE );
     gotoxy ( 26, 11 );
     for ( i = 0; i < 10; i++ ) {
         printf ( " %c ", B [ i ] );
     }
     nr = Vet_Num ( B, A );
     Sleep ( 1800 );
     textcolor ( LIGHTRED );
     gotoxy ( 36, 23 );
     printf ( "MUITO OBRIGADO" );
     getche ( );
     exit ( 0 );
     getche ( );
     return ( 0 );
}

Nenhum comentário:

Postar um comentário

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