Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- int main() {
- char sopa[100];
- char palavras[5][20]; // Assumindo um máximo de 5 palavras, cada uma com comprimento máximo de 20
- int indices[5][20]; // Para armazenar índices para cada substring
- int counts[5]; // Para armazenar a contagem de caracteres encontrados para cada substring
- int numpalavras;
- int achador = 0;
- // Ler a string principal
- printf("Digite a string principal: ");
- scanf("%99s", sopa);
- // Ler o número de palavras
- printf("Digite o número de palavras (até 5): ");
- scanf("%d", &numpalavras);
- // Ler cada substring
- for (int k = 0; k < numpalavras; k++) {
- printf("Digite a substring %d: ", k + 1);
- scanf("%19s", palavras[k]);
- counts[k] = 0; // Inicializar contagens como 0 para cada substring
- }
- // Encontrar e armazenar os índices para cada substring
- for (int k = 0; k < numpalavras; k++) {
- int count = 0;
- for (int j = 0; j < strlen(palavras[k]); j++) {
- char currentChar = palavras[k][j];
- int found = 0;
- for (int i = 0; i < strlen(sopa); i++) {
- if (currentChar == sopa[i]) {
- indices[k][count++] = i;
- found = 1;
- break;
- }
- }
- // Se o caractere não for encontrado, definir seu índice como -1
- if (!found) {
- indices[k][count++] = -1;
- }
- }
- counts[k] = count; // Atualizar a contagem para a substring atual
- }
- // Realizar remoções na ordem da entrada do usuário
- for (int k = 0; k < numpalavras; k++) {
- // Verificar se a substring inteira está presente na string principal
- int substringPresent = 1;
- for (int i = 0; i < counts[k]; i++) {
- if (indices[k][i] == -1 || sopa[indices[k][i]] == '0') {
- substringPresent = 0;
- break;
- }
- }
- // Remover a substring se ela estiver completamente presente na string principal
- if (substringPresent) {
- achador++;
- for (int i = 0; i < counts[k]; i++) {
- sopa[indices[k][i]] = '0';
- }
- }
- // Imprimir a string principal após remover palavras
- printf("String principal após remover palavras: %s\n", sopa);
- }
- // Imprimir o número de palavras encontradas
- printf("\n\n%d\n\n", achador);
- return 0;
- }
Add Comment
Please, Sign In to add comment