Este programa Demonstra na prática como preencher uma Matriz
através de um contador com laço for.
Depois de gerar os números de 1 a 100 pelo contador com laço for, os números
são imprimidos por printf(); e em seguida são introduzidos num vetor de inteiros
e assim são repassados pra uma Matriz também de inteiros, quadrática de 10 x 10,
que também é imprimida por printf(); No bloco de pesquisa, os números são colhidos
do teclado e armazenado num vetor de char, más logo são convertidos pra inteiros
graças a função atoi(); É de se admirar a capacidade do programa mesmo sendo bem
simples é capaz de barrar caracteres e números negativos exceto o -1 que faz a saída do programa,
também impede que números acima de 100 passem pela filtragem.
Eis o código do programa abaixo:
#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 );
}
void Imprime_Matriz( char *v, int Vet [ 100 ], int V [10] [10] );int main();
int Imp_Matr ( char *num ){
unsigned int i;
for( i = 0; i < strlen ( num ); i++ ){
if ( num [ i ] < '0' || num [ i ] > '9' )
return 0;
}
return 1;
}
void Preenche_Matriz_For( int Vet [ 100 ], int V [10] [10] ){
system ("title PREENCHENDO UMA MATRIZ COM LACO FOR");
Janela5();
int a = 0, b = -1, i = 0, j = 0;
textcolor(LIGHTRED);gotoxy(26,3);printf("PREENCHENDO UMA MATRIZ COM LACO FOR");
textcolor(LIGHTBLUE);gotoxy(29,5);printf("Imprimindo abaixo o contador");
textcolor(YELLOW);gotoxy(2,7);
for( i = 1; i <= 100; i++ ){
printf(" %d ", i );
Vet [ j ] = i;
j++;
}
for( j = -1; j <= 100; j++ ){
V [ a ] [ b ] = Vet [ j ];
b++;
}
getche();
}
void Imprime_Matriz( char *num, int Vet [ 100 ], int V [10] [10] ){
int a, b, i, j, n = 0;
system("cls");do{Janela5();
textcolor(LIGHTRED);gotoxy(26,3);printf("PREENCHENDO UMA MATRIZ COM LACO FOR");
textcolor(LIGHTBLUE);gotoxy(29,5);printf("Imprimindo agora a Matriz");
textcolor(YELLOW);gotoxy(2,7);
for( a = 0; a <= 10 - 1; a++ ){gotoxy(23, a + 8);
for( b = 0; b <= 10 - 1; b++ ){
printf(" %d ", V [ a ] [ b ] );
}
}
textcolor(LIGHTBLUE);gotoxy(20,19);
printf("Digite um N%c pra pesquisa ou [ -1 ] Para sair ", 167);
textcolor(YELLOW);gets ( num );fflush(stdin);
n = atoi (num);
if ( n == 0 ){
textcolor(LIGHTGREEN);gotoxy(25,21); printf("\aCaracteres e zero nao sao aceitos !");
Sleep(1800); textcolor(LIGHTGREEN);gotoxy(25,22);printf("\aVoce digitou: %s", num );
Sleep(1800); textcolor(LIGHTGREEN);gotoxy(25,23); printf("\a%s Nao e Valido !", num );
Sleep(1800);Imprime_Matriz( num, Vet, V);system("cls");
}
if( n == -1 ){
textcolor(LIGHTRED);gotoxy(33,22);printf ("O ROCCO AGRADECE");Sleep(1800);exit(0);
}
if ( n < 0 ){
textcolor(LIGHTGREEN);gotoxy(25,21);printf("\aO Unico Negativo Valido e o -1");
Sleep(1800);
}
if ( n > 100 ){
textcolor(LIGHTGREEN);gotoxy(22,22);printf("\aSo sao aceitos Numeros menores que 100 ");
Sleep(1800);system("cls");
}
if ( Imp_Matr ( num ) == 0 ){
textcolor(LIGHTGREEN);gotoxy(25,22);printf("\aVoce digitou: %s", num );
Sleep(1800);textcolor(LIGHTGREEN);gotoxy(25,23); printf("\a%s Nao e Valido !", num );
Sleep(1800);system("cls");
}
else{
for ( i = 0; i < 10; i++ ){
for ( j = 0; j < 10; j++ ){
if( n == V [ i ] [ j ] ){
textcolor(LIGHTGREEN);gotoxy(26,21);
printf("O valor %d foi encontrado ", n);
gotoxy(26,22);printf("Na linha %d e coluna %d ", i, j ) ;
getche();Imprime_Matriz( num, Vet, V);}
}
}
}
}while(1);
}
int main(){
char num [3];
int Vet [ 100 ], V [10] [10];
Preenche_Matriz_For( Vet, V );
Imprime_Matriz( num, Vet, V);
}
através de um contador com laço for.
Depois de gerar os números de 1 a 100 pelo contador com laço for, os números
são imprimidos por printf(); e em seguida são introduzidos num vetor de inteiros
e assim são repassados pra uma Matriz também de inteiros, quadrática de 10 x 10,
que também é imprimida por printf(); No bloco de pesquisa, os números são colhidos
do teclado e armazenado num vetor de char, más logo são convertidos pra inteiros
graças a função atoi(); É de se admirar a capacidade do programa mesmo sendo bem
simples é capaz de barrar caracteres e números negativos exceto o -1 que faz a saída do programa,
também impede que números acima de 100 passem pela filtragem.
Eis o código do programa abaixo:
#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 );
}
void Imprime_Matriz( char *v, int Vet [ 100 ], int V [10] [10] );int main();
int Imp_Matr ( char *num ){
unsigned int i;
for( i = 0; i < strlen ( num ); i++ ){
if ( num [ i ] < '0' || num [ i ] > '9' )
return 0;
}
return 1;
}
void Preenche_Matriz_For( int Vet [ 100 ], int V [10] [10] ){
system ("title PREENCHENDO UMA MATRIZ COM LACO FOR");
Janela5();
int a = 0, b = -1, i = 0, j = 0;
textcolor(LIGHTRED);gotoxy(26,3);printf("PREENCHENDO UMA MATRIZ COM LACO FOR");
textcolor(LIGHTBLUE);gotoxy(29,5);printf("Imprimindo abaixo o contador");
textcolor(YELLOW);gotoxy(2,7);
for( i = 1; i <= 100; i++ ){
printf(" %d ", i );
Vet [ j ] = i;
j++;
}
for( j = -1; j <= 100; j++ ){
V [ a ] [ b ] = Vet [ j ];
b++;
}
getche();
}
void Imprime_Matriz( char *num, int Vet [ 100 ], int V [10] [10] ){
int a, b, i, j, n = 0;
system("cls");do{Janela5();
textcolor(LIGHTRED);gotoxy(26,3);printf("PREENCHENDO UMA MATRIZ COM LACO FOR");
textcolor(LIGHTBLUE);gotoxy(29,5);printf("Imprimindo agora a Matriz");
textcolor(YELLOW);gotoxy(2,7);
for( a = 0; a <= 10 - 1; a++ ){gotoxy(23, a + 8);
for( b = 0; b <= 10 - 1; b++ ){
printf(" %d ", V [ a ] [ b ] );
}
}
textcolor(LIGHTBLUE);gotoxy(20,19);
printf("Digite um N%c pra pesquisa ou [ -1 ] Para sair ", 167);
textcolor(YELLOW);gets ( num );fflush(stdin);
n = atoi (num);
if ( n == 0 ){
textcolor(LIGHTGREEN);gotoxy(25,21); printf("\aCaracteres e zero nao sao aceitos !");
Sleep(1800); textcolor(LIGHTGREEN);gotoxy(25,22);printf("\aVoce digitou: %s", num );
Sleep(1800); textcolor(LIGHTGREEN);gotoxy(25,23); printf("\a%s Nao e Valido !", num );
Sleep(1800);Imprime_Matriz( num, Vet, V);system("cls");
}
if( n == -1 ){
textcolor(LIGHTRED);gotoxy(33,22);printf ("O ROCCO AGRADECE");Sleep(1800);exit(0);
}
if ( n < 0 ){
textcolor(LIGHTGREEN);gotoxy(25,21);printf("\aO Unico Negativo Valido e o -1");
Sleep(1800);
}
if ( n > 100 ){
textcolor(LIGHTGREEN);gotoxy(22,22);printf("\aSo sao aceitos Numeros menores que 100 ");
Sleep(1800);system("cls");
}
if ( Imp_Matr ( num ) == 0 ){
textcolor(LIGHTGREEN);gotoxy(25,22);printf("\aVoce digitou: %s", num );
Sleep(1800);textcolor(LIGHTGREEN);gotoxy(25,23); printf("\a%s Nao e Valido !", num );
Sleep(1800);system("cls");
}
else{
for ( i = 0; i < 10; i++ ){
for ( j = 0; j < 10; j++ ){
if( n == V [ i ] [ j ] ){
textcolor(LIGHTGREEN);gotoxy(26,21);
printf("O valor %d foi encontrado ", n);
gotoxy(26,22);printf("Na linha %d e coluna %d ", i, j ) ;
getche();Imprime_Matriz( num, Vet, V);}
}
}
}
}while(1);
}
int main(){
char num [3];
int Vet [ 100 ], V [10] [10];
Preenche_Matriz_For( Vet, V );
Imprime_Matriz( num, Vet, V);
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.