問題:
/*
* 檔名稱:專案3.cpp
* 作 者:秦緒龍
* 完成日期:2023年10月18日
* 版 本 號:v1.0
*問題描述:採用順序儲存方式儲存串,實現下列演算法並測試:
(1)試編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元:
void trans(sqstring *&s, char c1, char c2);
(2)試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba。
void invert(sqstring &s)
(3)從串s中刪除其值等於c的所有字元。如從message中刪除』e』,得到的是mssag。
void dellchar(sqstring &s, char c)
(4)有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元。
所謂公共子串,是由在s1中有,且在s2中也有的字元構成的字元。例s1為」message」,s2為」agent」,得到的公共子串是」eage」。
sqstring commchar(sqstring s1,sqstring s2);
*輸入描述:無
*程式輸出:測試資料
*/
(1)試編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元:void trans(sqstring *&s, char c1, char c2);
**:
#include #include "sqstring.h"
void trans(sqstring &s, char c1, char c2)
{ int i;
for(i=0;i
執行結果:
(2)試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba。
void invert(sqstring &s) ;
**:
#include #include "sqstring.h"
//將字串中的第乙個元素與最後乙個元素進行交換,
//第二個元素與倒數第二個元素進行交換,以此類推,將所有的字元進行交換,最後將字串反序。
void invert(sqstring &s)
{ int i;
char temp;
for (i=0; i
執行結果:
(3)從串s中刪除其值等於c的所有字元。如從message中刪除』e』,得到的是mssag。
void dellchar(sqstring &s, char c) ;
**:
#include #include "sqstring.h"
//從頭到尾掃瞄s串,對於其值為c的元素採用移動的方式進行刪除。
void dellchar(sqstring &s, char c)
{ int i=0,k=0;
while(i
執行結果:
(4)有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元。
所謂公共子串,是由在s1中有,且在s2中也有的字元構成的字元。例s1為」message」,s2為」agent」,得到的公共子串是」eage」。
sqstring commchar(sqstring s1,sqstring s2);
**:
#include #include "sqstring.h"
//對於s1中的每乙個字元,檢視在s2中是否出現,如果出現,則加到結果字串中。
sqstring commchar(sqstring s1,sqstring s2)
{ sqstring str;
int i,j;
int k=0;
for(i=0;i
執行結果:
知識點總結:
在演算法庫的基礎完成對函式的應用。
第八周 專案3 順序串演算法
煙台大學計算機與控制工程學院 檔名稱 第8周專案3 順序串 作 者 呂云雙 完成日期 2015年10月23日 問題描述 使用佇列陣列 版 本 號 v1.0 標頭檔案 define maxsize 100 最多的字元個數 typedef struct sqstring void strassign s...
第八周專案3 順序串演算法
檔名稱 h1.cpp 完成日期 2015年10月13日 版本號 vc6.0 問題描述 編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元,試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba,從串s中刪除其值等於c的所有字元。如從message中刪除 e 得到...
第八周專案3順序串演算法
問題及描述 2 試編寫演算法,實現將已知字串所有字元倒過來重新排列。如abcdef改為fedcba。void invert sqstring s 3 從串s中刪除其值等於c的所有字元。如從message中刪除 e 得到的是mssag。void dellchar sqstring s,char c 4...