Algoritma yazıp yapacaksın. Strlen fonksiyonu ile stringin uzunluğunu alıp 0'dan uzunluğa kadar gidecek bir for döngüsü oluştur. Döngü içerisinde gerekli işlemleri yap.
Yaptığım örneği şöyle bırakayım. Mantığını anlatmak gerekirse, önce metni, değiştirilecek olan karakteri ve yerine gelecek olan karakteri kullanıcıdan alıyoruz. Sonra da döngüyü dediğim gibi uzunluğa kadar gidecek şekilde ayarlıyoruz. Döngü içerisinde ise i'nin denk geldiği karakterin değiştirilecek karakter olup olmadığına bakıyoruz. Eğer değiştirilecek karakter ise karakterin yerine yeni karakteri eşitliyoruz.hocam bende o döngü içerisindeki işlemleri soruyorum.
#include <iostream>
#include <cstring>
int main() {
std::cout << "Enter the text" << std::endl;
char str[1000];
fgets(str, 1000, stdin);
char replacement_char;
std::cout << "Enter the char to replace" << std::endl;
std::cin >> replacement_char;
char new_char;
std::cout << "Enter the new char" << std::endl;
std::cin >> new_char;
size_t length = strlen(str);
for (int i = 0; i<length; ++i) {
if (str[i] == replacement_char) {
str[i] = new_char;
}
}
std::cout << str;
}
#include <iostream>
using namespace std;
void aToN(string& str) {
for (auto& c : str) {
if (c == 'a') {
c = 'n';
}
}
}
// C type
string aToNC(string str) {
for (auto& c : str) {
if (c == 'a') {
c = 'n';
}
}
return str;
}
int main() {
string str{ "SyDatoloo" };
aToN(str);
cout << str << endl;
cout << aToNC("SyDatoloo") << endl;
return 0;
}
std::string replace(const std::string& in, const std::string& from, const std::string& to)
{
std::string out = in;
std::size_t pos = 0;
while ((pos = out.find(from, pos)) != std::string::npos)
{
out.replace(pos, from.length(), to);
pos += to.length();
}
return out;
}
std::string oldstr = "SyDatoloo";
std::string newstr = replace(oldstr, "a", "n");
std::cout << newstr; // > SyDntoloo
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.