GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Programa que verifica a presença de substring em C/C++


#1

Preciso criar um programa apenas utilizando a biblioteca stdio.h em que verifico a ocorrencia de uma substring em uma tabela e o programa printe onde essa substring ocorre, por exemplo:
neste caso verifica-se a ocorrencia do numero 424

entrada do programa:
RA,Nome,Curso,Telefone,Estado
101010,Vinicius de Moraes,424,(21)99898-0107,RJ
124246,Adoniram Barbosa,424,(11)98989-0424,SP
087654,Murilo Rubiao,321,(31)99632-5874,MG
056789,Atonio Carlos jobim,125,(22)42424-1111,RJ
112233,Mario de Andrade,424,(19)98426-3571,SP

saída:
Linha 1, Coluna "Curso"
Linha 2, Coluna "RA"
Linha 2, Coluna "Curso"
Linha 4, Coluna "Telefone"
Linha 5, Coluna "Curso"


#2

Certo, e qual é a dúvida?

E tem certeza que pode ser em C++? Pois a stdio.h é uma biblioteca do C.


#3

Não consigo entender a logica de como devo fazer isso. Basicamente, no caso das colunas pensei em criar uma variavel contadora que conta o numeros de virgulas e as linhas posso usar a variavel de um for que le as strings. O problema está em como fazer a verificação se uma string é ou não substring de outra. Ah, e é em C mesmo, sou leigo ainda nesses meios.


#4

Comece quebrando o problema em partes.

O primeiro, é tentar comparar a string que você tem, com um pedaço da outra string. Por exemplo, comece criando uma função compara que recebe a linha, o índice inicial na linha e o texto a ser comparado. E então ela testa se aquele texto aparece naquele índice.

Depois, você pode escrever uma função contém, que usa a compara índice a índice numa String grande.

Depois, basta descobrir como quebrar a string maior nas colunas.