Em linguagem c matrizes de strings são matrizes bidimensionais e sua forma geral é:
tipo_nome_da_variavel [ dimensão da esquerda ] [ dimensão da direita ];
onde a dimensão da esquerda indexa as linhas e a da direita indexa as colunas.
Em linguagem C, ao contrário de outras linguagens, não existe um tipo de dados string original, por isso devemos criar vetores de caracteres ou matriz bidimensional para armazenamento de strings.
Neste programa a matriz de string é lida caracter por caracter e é imprimida em duas dimensões, isto facilitou na busca de um caracter dentro da matriz.
A função responsável pela busca de caracters dentro da matriz de string é a função
int Pesq_let ( char Mat [ 11 ] [ 16 ], char *di );onde recebe dois parâmetros no protótipo, a matriz de char e um ponteiro para char.
Este código pode ser adaptado para trabalhar com inteiros ou floats, basta um pouco de esforço
e o futuro programador consegue fazer pesquisa dentro de uma matriz de inteiros ou float com sucesso.
As configurações do cmd para esta janela estão na imagem abaixo, onde temos também imagens
do funcionamento do programa:
Veja abaixo o código do programa:
tipo_nome_da_variavel [ dimensão da esquerda ] [ dimensão da direita ];
onde a dimensão da esquerda indexa as linhas e a da direita indexa as colunas.
Em linguagem C, ao contrário de outras linguagens, não existe um tipo de dados string original, por isso devemos criar vetores de caracteres ou matriz bidimensional para armazenamento de strings.
Neste programa a matriz de string é lida caracter por caracter e é imprimida em duas dimensões, isto facilitou na busca de um caracter dentro da matriz.
A função responsável pela busca de caracters dentro da matriz de string é a função
int Pesq_let ( char Mat [ 11 ] [ 16 ], char *di );onde recebe dois parâmetros no protótipo, a matriz de char e um ponteiro para char.
Este código pode ser adaptado para trabalhar com inteiros ou floats, basta um pouco de esforço
e o futuro programador consegue fazer pesquisa dentro de uma matriz de inteiros ou float com sucesso.
As configurações do cmd para esta janela estão na imagem abaixo, onde temos também imagens
do funcionamento do programa:
Veja abaixo o código do programa:
#include<stdio.h>
#include<conio.h>
void Janela5 ( ) {
int lin, col;
col = 0;
for ( lin = 2; lin <= 24; lin++ )
for ( col = 2; col <= 103; col++ ) {
gotoxy ( col, lin );
textbackground ( WHITE );
printf ( " " );
}
}
int Pesq_let ( char Mat [ 11 ] [ 16 ], char *di ) {
int i, j, oc = 0;
for ( i = 0; i < 11; i++ ) {
for ( j = 0; j < 16; j++ ) {
if ( Mat [ i ] [ j ] == *di )
oc++;
}
}
return ( oc );
}
int main ( ) {
system ( "title
CARACTER - PESQUISA EM MATRIZ" );
int a = 7, i, j, nr;
char di [ 16 ];
char Mat [ 11 ] [ 16 ] = { { "César Eugênio" }, { "Átila Antônio" }, {
"Irene Patrícia" }, { "Mônica Simões" }, { "Ester Büeno" }, {
"Graça Núbia" }, { "Fábio Césoi" }, { "Ozéias Gonçalo" }, {
"Lúcia Píres" }, { "Ulisses Antônio" }, { "Ítalo Guimarães" } };
Janela5 ( );
textbackground ( WHITE );
textcolor ( LIGHTRED );
gotoxy ( 42, 3 );
printf ( "CARACTER -
PESQUISA EM MATRIZ" );
textcolor ( LIGHTBLUE );
gotoxy ( 5, 5 );
printf ( "Imprimindo
abaixo a Matriz de string" );
textcolor ( BLACK );
for ( i = 0; i < 11; i++ ) {
gotoxy ( 3, i + 7 );
for ( j = 0; j < 16; j++ ) {
printf ( " %c ", Mat [ i ] [ j ] );
}
}
textcolor ( LIGHTBLUE );
gotoxy ( 60, 5 );
printf ( "Digite uma
letra para pesquisar " );
textcolor ( LIGHTRED );
gets ( di );
fflush ( stdin );
textcolor ( LIGHTBLUE );
nr = Pesq_let ( Mat, di );
for ( i = 0; i < 11; i++ ) {
for ( j = 0; j < 16; j++ )
if ( Mat [ i ] [ j ] == *di ) {
gotoxy ( 50, a );
a = a + 1;
printf ( "O caractere
" );
textcolor ( LIGHTRED );
printf ( "%c", *di );
textcolor ( LIGHTBLUE );
printf ( " foi
encontrado na linha " );
textcolor ( LIGHTRED );
printf ( "%d", i );
textcolor ( LIGHTBLUE );
printf ( " e coluna
" );
textcolor ( LIGHTRED );
printf ( "%d ", j );
Sleep ( 500 );
textcolor ( LIGHTBLUE );
}
}
if ( nr == 0 ) {
textcolor ( LIGHTBLUE );
gotoxy ( 57, 15 );
printf ( "Nenhuma ocorrência
do caractere digitado" );
}
if ( nr > 1 ) {
textcolor ( LIGHTBLUE );
gotoxy ( 57, 23 );
printf ( "O Caractere
" );
textcolor ( LIGHTRED );
printf ( "%c", *di );
textcolor ( LIGHTBLUE );
printf ( " ocorre
" );
textcolor ( LIGHTRED );
printf ( "%d", nr );
textcolor ( LIGHTBLUE );
printf ( " vêzes na
matriz" );
}
Sleep ( 1800 );
textcolor ( LIGHTBLUE );
gotoxy ( 5, 19 );
printf ( "Programa
desenvolvido por:" );
textcolor ( BLACK );
gotoxy ( 12, 21 );
printf ( "Samuel
Lima" );
textcolor ( LIGHTMAGENTA );
gotoxy ( 8, 23 );
printf ( "sa_sp10@hotmail.com" );
getche ( );
return ( 0 );
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.