C++程式查詢和替換字串
假設,我們給定一個字串 s。有一個範圍,從 start 到 end,其中 start 和 end 都是整數。每當我們在給定範圍內遇到變數 f 中儲存的字元時,我們將其替換為 r 中儲存的字元。我們找出此替換操作後的字串。
問題類別
為了解決這個問題,我們需要操作字串。程式語言中的字串是一系列字元,儲存在特定的陣列式資料型別中。幾種語言將字串指定為特定資料型別(例如 Java、C++、Python);而其他幾種語言將字串指定為字元陣列(例如 C)。字串在程式設計中起著重要作用,因為它們通常是各種應用程式中首選的資料型別,並用作輸入和輸出的資料型別。有各種字串操作,例如字串搜尋、子字串生成、字串剝離操作、字串轉換操作、字串替換操作、字串反轉操作等等。檢視下面的連結以瞭解如何在 C/C++ 中使用字串。
https://tutorialspoint.tw/cplusplus/cpp_strings.htm
https://tutorialspoint.tw/cprogramming/c_strings.htm
因此,如果我們問題的輸入類似於 s = "brick",f = 'i',r = 'o',start = 1,end = 5,則輸出將為 "brock"。
步驟
為了解決這個問題,我們將遵循以下步驟 -
for initialize i := start - 1, when i < end, update (increase i by 1), do: if s[i] is same as f, then: s[i] := r return s
示例
讓我們看看下面的實現以獲得更好的理解 -
#include<bits/stdc++.h> using namespace std; void solve(string s, char f, char r, int start, int end) { for(int i = start - 1; i < end; i++) if(s[i] == f) s[i] = r; cout<< s; } int main() { string s = "brick"; char f = 'i', r = 'o'; int start = 1, end = 5; solve(s, f, r, start, end); return 0; }
輸入
"brick", 'i', 'o', 1, 5
輸出
brock
廣告