Суть задачи:
Найти строку символов по строке, введенной с клавиатуры ,и заменить ее новой строкой.
Почитал теорию, посмотрел видеоуроки, но все равно не могу составить метод замены, осилил только это:
#include "stdafx.h"
#include "iostream"
#include "string"
using namespace std;
const int N = 9;
struct Str{
int key;
};
struct List {
Str str;
List* next;
};
void Print(List *b){
List *print = b;
while(print){
cout << print->str.key << " -> ";
print = print->next;
}
cout << "NULL"<<endl;
}
void Enter(List **begin){
*begin = new List;
Str str1[N];
cout << "Введите 1 элемент: ";
cin>>(*begin)->str.key;
(*begin)->next = NULL;
List *end = *begin;
for(int i=0;i<N;i++){
end->next = new List;
end = end->next;
cout << "Введите "<<i+2<<" элемент: ";
cin >> str1[i].key;
end->str = str1[i];
end->next = NULL;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "RUS");
List* begin = NULL;
Enter(&begin);
Print(begin);
system("pause");
return 0;
}
И неудачная попытка создать метод:
void Replace(List **begin, const Str &str){
List *rep = new List;
rep->str = str;
List *f = *begin;
char repTo[10];
if (f->str.key >= rep->str.key){
rep->next = f;
*begin = rep;
return;
}
while(f){
if(f->str.key == "32"){
cout<<"123";
}else{
f = f->next;
}
}
}
Прошу помочь, и если не затруднит примерно объяснить как это происходит.