Tudo começa com a função main(); chamando a função continuando():
que contém poucas informações sobre o autor do código, que sou eu mesmo, E então, temos uma Matriz Multidimensional do tipo char, que são preenchidas em todas as suas posições com os caracteres gerados pela função do tipo inteiro gera_caractere();
A função strlen ( *matriz ); conta o total de caracteres que foram gerados pela função rand(); que está sendo usada pela função
gera_caractere();
Um bloco de ordenação, pelo método da bolha, foi implementado
antes do bloco que faz a contagem dos caracteres que se repetem
e são imprimidos por printf();
Por aqui as dimensões do cmd ( prompt de comando ), ficaram sassim:
Tamanho do buffer da tela
Largura: 80
altura: 36
Tamanho da janela
Largura: 80
altura: 36
Posição da janela
Esquerda: 229
Superior: 36
A fonte usada, foi a Lucida Console 16.
Curta minha página no facebook
Veja abaixo algumas imagens do programa em execução:
Veja o código do programa abaixo:
que contém poucas informações sobre o autor do código, que sou eu mesmo, E então, temos uma Matriz Multidimensional do tipo char, que são preenchidas em todas as suas posições com os caracteres gerados pela função do tipo inteiro gera_caractere();
A função strlen ( *matriz ); conta o total de caracteres que foram gerados pela função rand(); que está sendo usada pela função
gera_caractere();
Um bloco de ordenação, pelo método da bolha, foi implementado
antes do bloco que faz a contagem dos caracteres que se repetem
e são imprimidos por printf();
Por aqui as dimensões do cmd ( prompt de comando ), ficaram sassim:
Tamanho do buffer da tela
Largura: 80
altura: 36
Tamanho da janela
Largura: 80
altura: 36
Posição da janela
Esquerda: 229
Superior: 36
A fonte usada, foi a Lucida Console 16.
Curta minha página no facebook
Veja abaixo algumas imagens do programa em execução:
Veja o código do programa abaixo:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define tam 25
void Dimensao ( int x, int y ) {
DWORD Tamanho = 2000;
DWORD Escritos;
COORD Pos = { x, y };
FillConsoleOutputCharacter ( GetStdHandle ( STD_OUTPUT_HANDLE ), ' ',
Tamanho, Pos, &Escritos );
SetConsoleCursorPosition ( GetStdHandle ( STD_OUTPUT_HANDLE ), Pos );
}
void Janela5 ( ) {
int lin, col;
system ( "color
E3" );
for ( lin = 0; lin <= 36; lin++ ) {
for ( col = 0; col <= 80; col++ ) {
gotoxy ( col, lin );
if ( lin == 2 ) {
textbackground ( BLACK );
printf ( " " );
}
if ( col == 1 ) {
textbackground ( BLACK );
printf ( " " );
}
if ( lin == 36 ) {
textbackground ( BLACK );
}
if ( col == 80 ) {
textbackground ( BLACK );
printf ( " " );
}
}
}
textbackground ( BLACK );
}
int continuando ( ) {
int nr;
do {
system ( "cls" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 23, 5 );
printf ( "GERANDO E
CONTANDO CARACTERES REPETIDOS" );
textcolor ( YELLOW );
gotoxy ( 24, 7 );
printf ( "Programa
desenvolvido por:" );
textcolor ( LIGHTGRAY );
gotoxy ( 51, 7 );
printf ( "Samuel
Lima" );
textcolor ( LIGHTGREEN );
gotoxy ( 34, 9 );
printf ( "sa_sp10@hotmail.com" );
textcolor ( LIGHTBLUE );
gotoxy ( 23, 11 );
printf ( "Digite 0 para
sair ou 1 para continuar : " );
textcolor ( LIGHTRED );
scanf ( "%d", &nr );
fflush ( stdin );
fflush ( stdin );
if ( nr == 0 ) {
textcolor ( LIGHTRED );
gotoxy ( 35, 21 );
printf ( "MUITO
OBRIGADO" );
getche ( );
exit ( 0 );
} else if ( nr == 1 ) {
return 1;
}
textcolor ( YELLOW );
gotoxy ( 36, 16 );
printf ( "\aopção
errada!" );
getche ( );
} while ( 1 );
return 1;
}
int gera_caractere ( ) {
return ( rand ( ) % 26 ) + 65;
getche ( );
return ( 0 );
}
int main ( ) {
system ( "title GERANDO
E CONTANDO CARACTERES REPETIDOS" );
continuando ( );
system ( "cls" );
Janela5 ( );
int i, j, aux, ord, x, y = 0, vezes;
char VET [ 626 ];
char matriz [ tam ] [ tam ];
for ( i = 0; i < tam; i++ ) {
for ( j = 0; j < tam; j++ ) {
matriz [ i ] [ j ] = gera_caractere ( );
}
}
textcolor ( LIGHTRED );
gotoxy ( 25, 3 );
printf ( "GERANDO E
CONTANDO CARACTERES REPETIDOS" );
textcolor ( LIGHTBLUE );
gotoxy ( 23, 5 );
printf ( "Mostrando
abaixo os" );
textcolor ( LIGHTRED );
printf ( " %d ", strlen ( *matriz ) );
textcolor ( LIGHTBLUE );
printf ( "caracteres
gerados" );
printf ( "\n\n" );
for ( i = 0; i < tam; i++ ) {
textcolor ( YELLOW );
Dimensao ( 15, i + 7 );
printf ( "%d ", i + 0 );
textcolor ( WHITE );
for ( j = 0; j < tam; j++ ) {
printf ( " %c", matriz [ i ] [ j ] );
VET [ y ] = matriz [ i ] [ j ];
y++;
}
printf ( "\n" );
}
Sleep ( 1000 );
textcolor ( LIGHTRED );
gotoxy ( 32, 34 );
printf ( "PRESSIONE
QUALQUER TECLA" );
getche ( );
ord = 0;
while ( ord == 0 ) {
ord = 1;
for ( x = 1; x <= y; x++ ) {
if ( VET [ x ] > VET [ ( x + 1 ) ] ) {
aux = VET [ x ];
VET [ x ] = VET [ ( x + 1 ) ];
VET [ ( x + 1 ) ] = aux;
ord = 0;
}
}
}
system ( "cls" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 25, 3 );
printf ( "GERANDO E
CONTANDO CARACTERES REPETIDOS" );
textcolor ( LIGHTBLUE );
gotoxy ( 18, 5 );
printf ( "Mostrando
abaixo o total que cada caractere se repete" );
for ( x = 2; x < y; x++ ) {
vezes = 1;
j = x + 1;
while ( j < y )
if ( VET [ j ] != VET [ x ] )
j++;
else {
vezes++;
y--;
VET [ j ] = VET [ y ];
}
Dimensao ( 27, x + 4 );
textcolor ( LIGHTBLUE );
printf ( "A letra
" );
textcolor ( YELLOW );
printf ( " %c ", VET [ x ] );
textcolor ( LIGHTBLUE );
printf ( " ocorre
" );
textcolor ( LIGHTRED );
printf ( " %d ", vezes );
textcolor ( LIGHTBLUE );
printf ( " vêzes " );
}
Sleep ( 1000 );
textcolor ( LIGHTRED );
gotoxy ( 37, 34 );
printf ( "MUITO
OBRIGADO" );
getche ( );
exit ( 0 );
}