問題及**:
/**檔名稱:1.cpp
*完成日期:2023年10月21日
*版本號: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);
*輸入描述:字串
*程式輸出:完成測試後的執行結果
*/
sqstring.h:
#include #define maxsize 1000
typedef struct //定義順序串型別
sqstring;
void strassign(sqstring &s,char cstr); //字串常量cstr賦給串s
void strcopy(sqstring &s,sqstring t); //串t複製給串s
bool strequal(sqstring s,sqstring t); //判串相等
int strlength(sqstring s); //求串長
sqstring concat(sqstring s,sqstring t); //串連線
sqstring substr(sqstring s,int i,int j); //求子串
sqstring insstr(sqstring s1,int i,sqstring s2); //串插入
sqstring delstr(sqstring s,int i,int j) ; //串刪去
sqstring repstr(sqstring s,int i,int j,sqstring t); //串替換
void dispstr(sqstring s); //輸出串
sqstring.cpp:
#include "sqstring.h"
void strassign(sqstring &s,char cstr) //字串常量cstr賦給串s
void strcopy(sqstring &s,sqstring t) //串t複製給串s
{ int i;
for(i=0;is.length || j<=0 || i+j-1>s.length)
return str; //引數不正確時直接返回空串
for(k=i-1;ks1.length+1)
return str;
for(j=0;js.length || i+j-1>s.length)
return str;
for(k=0;ks.length || i+j-1>s.length)
return str;
for(k=0;k0)
{for(i=0;i#include "sqstring.h"
//以下為自定義函式
void trans(sqstring &s, char c1, char c2) //字串s中所有值為c1的字元換成值為c2的字元
{ int i;
for(i=0;i#include "sqstring.h"
//以下為自定義函式
void invert(sqstring &s) //將已知字串所有字元倒過來重新排列
{ int i,j;
char t;
i=0,j=s.length-1;
while(i#include "sqstring.h"
//以下為自定義函式
void dellchar(sqstring &s, char c) //從串s中刪除其值等於c的所有字元
{ int i=0,k=0; //k記錄值等於c的字元個數
while(i#include "sqstring.h"
//以下為自定義函式
sqstring commchar(sqstring s1,sqstring s2) //有兩個串s1和s2,設計乙個演算法求乙個這樣的串,該串中的字元是s1和s2中公共字元
{ sqstring str;
int i,j,t=0;
for(i=0;i執行結果:
知識點總結:順序串的基本演算法
學習心得:通過這個專案,加深了我對於順序串基本演算法的認知與理解。
第八周 專案三 順序串演算法
順序串演算法庫 sqstring.h ifndef sqstring h included define sqstring h included define maxsize 100 最多的字元個數 typedef struct sqstring void strassign sqstring s,...
第八周 專案三 順序串演算法
問題及描述 煙台大學計算機與控制工程學院 完成日期 2016年10月20號 問題描述 採用順序儲存方式儲存串,實現下列演算法並實現。1 試著編寫演算法實現將字串s中所有值為c1的字元換成值為c2的字元。2 試著編寫演算法,實現將一直字串所有字元倒過來重新排列。如abcdef改為fedcba.3 從串...
第八周 專案三 順序串演算法
順序串演算法庫 注 在標頭檔案中加上相應的函式宣告。1 的實現函式 void trans sqstring s,char c1,char c2 1 執行結果 原來 strassign s,messages 執行後 2 的實現函式 void invert sqstring s 2 執行結果 原來 st...