Bom dia galera,
Venho aqui pedir ajudar com um trabalho, mas não porque não gosto de tentar, e sim porque já tentei demais e não consegui!
Quem puder ajudar ficarei grato.
A questão fala o seguinte:
##) Faça um programa que leia duas cadeias de caracteres A e B (vetores). Analisa se a segunda cadeia está dentro da primeira cadeia, ou seja, se B é subcadeia de A.
- Imprime na tela informando que B é subcadeia e a posição pos do caractere onde começa a subcadeia B em A;
- Observe que B pode aparecer várias vezes em A. Deve verificar-se também o numero de ocorrências de B em A e imprimir este valor n na tela. Exemplo: Se a primeira string A digitada foi "abracadabra" e a segunda B foi "bra", então o número de ocorrências n é 2;
- Leia outra cadeia (vetor S) do mesmo tamanho que B. Troque todas as ocorrências da primeira subcadeia B pela segunda S na cadeia A. Exemplo: seja a string A "maracatumar", a string B "mar" e S "sol", então a string A ficará "solacatusol". Imprime o resultado de A e uma variável ns que deve dar o número de substituições.
Como vocês podem ver, é um programa que eu considero avançado, pois tenho pouco tempo em C++.
Ainda comecei com o programa, porém tentei muito e não consegui, abaixo está o começo que fiz:
#include<iostream>
#include<cstring>
using namespace std;
int main( ){
char a[21], b[21];
int tam_a, tam_b, j=0, pos;
cout << "Digite texto A de no maximo 20 caracteres: \n";
cin.getline(a,20);
tam_a=strlen(a);
cout << "\nDigite texto B de no maximo 20 caracteres: \n";
cin.getline(b,20);
tam_b=strlen( ;
//Como podem ver, não consegui nada mesmo!
for (int i=0;i<tam_a;i++){
if(b[j]=a){
j++;
}
}
return 0;
}
Agradeço a quem puder ajudar, espero conseguir entender!