最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

【項(xiàng)目】寫代碼的代碼【完】

2023-04-08 11:55 作者:梁呼啦啦  | 我要投稿

本項(xiàng)目實(shí)現(xiàn)寫代碼的代碼,用于C++,實(shí)現(xiàn)了快速排序、二分查找、字符串匹配和for和if的配合。

if(!flag3) {//開頭 ? ? fout << "#include <iostream>" << endl; ? ? fout << "#include <fstream>" << endl; ? ? fout << "#include <algorithm>" << endl; ? ? fout << "#include <string>" << endl; fout << "#include <string.h>" << endl; ? ? fout << "#include <cstdlib>" << endl; ? ? fout << "#include <ctime>" << endl; ? ? fout << "#include <cmath>" << endl; ? ? fout << "#include <sstream>" << endl; ? ? ? ?fout << "using namespace std;" << endl; ? ? ? ?fout << "int main() {" << endl; ? ? ? ?fout << " ? ?srand(time(NULL));" << endl; ? ? ? ?fout << " ? ?ofstream fout;" << endl; ? ? ? ?fout << " ? ?ifstream fin;" << endl; ? ? ? ?fout << " ? ?stringstream stream;" << endl; ? ? ? ?fout << " ? ?fout.open(\"o.txt\");" << endl; ? ? ? ?fout << " ? ?fin.open(\"in.txt\");" << endl; ? ? ? ?fout << " ? ?int a[10000];" << endl; ? ? ? ?fout << " ? ?string b[10000];" << endl; ? ? fout << " ? ?string temp;" << endl; ? ? ? ?fout << " ? ?getline(fin, temp);" << endl; ? ? ? ?fout << " ? ?temp += '\\0';" << endl; bool flag4 = false; for(int i = 0;temp[i] != '\0';++i) { if(temp[i] == '\"' || temp[i] == 'f' || temp[i] == 'F' || temp[i] == 'i' || temp[i] == 'I' ) { flag4 = true; break; } } if(!flag4) {//判斷是字符串輸入還是數(shù)字輸入 fout << " ? ?int count = 0;" << endl; fout << " ? ?bool flag = false;" << endl; fout << " ? ?for(int i = 0;temp[i] != '\\0';++i) {" << endl; fout << " ? ? ? ?if(temp[i] != ' '){" << endl; fout << " ? ? ? ? ? ?b[count] += temp[i];" << endl; fout << " ? ? ? ?}" << endl; fout << " ? ? ? ?else if(temp[i] == ' ') {" << endl; fout << " ? ? ? ? ? ?flag = true;" << endl; fout << " ? ? ? ?}" << endl; fout << " ? ? ? ?if(flag) {" << endl; fout << " ? ? ? ? ? ?stream << b[count];" << endl; fout << " ? ? ? ? ? ?stream >> a[count];" << endl; fout << " ? ? ? ? ? ?stream.clear();" << endl; fout << " ? ? ? ? ? ?++count;" << endl; fout << " ? ? ? ? ? ?flag = false;" << endl; ? ? ? fout << " ? ? ? ?}" << endl; fout << " ? ?}" << endl; } else { } }

這里是寫入開頭部分,通過flag的操作保證只會(huì)書寫一次,并且判斷是否為數(shù)字輸入還是字符串輸入。

flag3 = true; ? ?int flag2 = -1; ? ?for(int i = 0;temp[i] != '\0';++i) {//判斷是哪種邏輯 ? ? if(temp[i] == '>') { ? ? flag2 = 1; ? ? break; } else if(temp[i] == '<') { flag2 = 2; break; } else if(temp[i] == 'l' || temp[i] == 'L') { flag2 = 3; search1 = temp[i + 10]; break; } else if(temp[i] == 'u' || temp[i] == 'U') { flag2 = 4; search2 = temp[i + 10]; break; } else if(temp[i] == 'b' || temp[i] == 'B') { flag2 = 5; search3 = temp[i + 12]; break; } else if(temp[i] == '\"') { flag2 = 6; break; } else if(temp[i] == 'f' || temp[i] == 'F' || temp[i] == 'i' || temp[i] == 'I' ) { flag2 = 7; break; } }

判斷是哪種邏輯,是排序還是二分查找還是字符串匹配還是for和if的配合。

if(flag2 == 1) {//快速排序 fout << " ? ?sort(a, a + count, greater<int>());" << endl; fout << " ? ?for(int i = 0;i < count;++i) {" << endl; fout << " ? ? ? ?fout << a[i] << ' ';" << endl; fout << " ? ?}" << endl; fout << " ? ?fout << endl;" << endl; } else if(flag2 == 2) { fout << " ? ?sort(a, a + count, less<int>());" << endl; fout << " ? ?for(int i = 0;i < count;++i) {" << endl; fout << " ? ? ? ?fout << a[i] << ' ';" << endl; fout << " ? ?}" << endl; fout << " ? ?fout << endl;" << endl; }

這兩個(gè)是快速排序的輸出

else if(flag2 == 3) {//二分查找 fout << " ? ?int x = lower_bound(a, a + count, " << search1 << ") - a;" << endl; fout << " ? ?fout << x << endl;" << endl; } else if(flag2 == 4) { fout << " ? ?int y = upper_bound(a, a + count, " << search2 << ") - a;" << endl; fout << " ? ?fout << y << endl;" << endl; } else if(flag2 == 5) { fout << " ? ?bool z = binary_search(a, a + count, " << search3 << ");" << endl; fout << " ? ?fout << z << endl;" << endl; }

這三個(gè)是二分查找

else if(flag2 == 6) {//字符串匹配 fout << " ? ?string str;" << endl; fout << " ? ?for(int i = 0;i < temp.length() - 1;++i) {" << endl; fout << " ? ? ? ?str += temp[i];" << endl; fout << " ? ?}" << endl; fout << " ? ?str += '\\0';" << endl; fout << " ? ?char str1[10000], str2[10000];" << endl; ? fout << " ? ?int i;" << endl; ? ? ? ?fout << " ? ?for(i = 0;temp[i] != '\\0';++i) {" << endl; ? ? fout << " ? ? ? ?str1[i] = temp[i];" << endl; ? ?fout << " ? ?}" << endl; ? ?fout << " ? ?str1[i] = '\\0';" << endl; ? ?fout << " ? ?for(i = 0;str[i] != '\\0';++i) {" << endl; ? ? fout << " ? ? ? ?str2[i] = str[i];" << endl; ? ?fout << " ? ?}" << endl; ? ?fout << " ? ?str2[i] = '\\0';" << endl; ? ? ? ?fout << " ? ?char* pos = strstr(str1, str2);" << endl; ? ? ? ?fout << " ? ?fout << *pos << endl;" << endl; }

這個(gè)是字符串匹配

else if(flag2 == 7) {//for和if的配合 int c = 0; for(int i = 0;i < temp.length();++i) { if(temp[i] == 'f' || temp[i] == 'F') { for(int j = 0;j < c;++j) { ? ? ? ?fout << " ? ?"; ? ? ? ?} fout << "for(;;) {" << endl; i += 2; ++c; } else if(temp[i] == 'i' || temp[i] == 'I') { for(int j = 0;j < c;++j) { ? ? ? ?fout << " ? ?"; ? ? ? ?} fout << "if() {" << endl; i += 1; ++c; } } int sum = c - 1; for(int i = 0;i < c;++i) { for(int j = sum;j > 0;--j) { ? ? ? ?fout << " ? ?"; ? ?} ? ?--sum; fout << "}" << endl; } }

這個(gè)是for和if的配合

if(y == num3 - 1) {//結(jié)尾 ? ?fout << " ? ?fin.close();" << endl; fout << " ? ?fout.close();" << endl; ? ? ? ?fout << " ? ?return 0;" << endl; ? ? ? ?fout << "}" << endl; }

這個(gè)是輸出結(jié)尾

int main(int argc, char** argv) { ? ?fout.open("out.cpp"); fin1.open("code.txt"); fin2.open("in.txt"); flag3 = false; count1 = 0; num2 = 0; num3 = 0; num4 = 0; for(num0 = 0;getline(fin2, a2[num0]);++num0){//讀取文件 a2[num0] += '\0'; temp = a2[num0]; count2 = 0; for(int i = 0;temp[i] != '\0';++i) { if(temp[i] != ' '){ a3[count2] += temp[i]; ++count2; } } } for(num = 0;getline(fin1, a1[num]);++num){//判斷是哪一部分 a1[num] += '\0'; temp = a1[num]; flag = -1; for(int i = 0;i < temp.length();++i) { if(temp[i] == '#') { flag = 0; break; } else if(temp[i] == 'l' || temp[i] == 'L') { flag = 2; break; } else if(temp[i] == 'o' || temp[i] == 'O') { flag = 3; break; } ? ?} ? ?if(flag == 0) { ? ? continue; } else if(flag == 2) { for(int i = 0;temp[i] != ':';++i) { count1 = i; } ++count1; ++count1; for(;temp[count1] != '\0';++count1){ logic[num3] += temp[count1]; } logic[num3]+= '\0'; ++num3; } else if(flag == 3) { for(int i = 0;temp[i] != ':';++i) { count1 = i; } ++count1; ++count1; for(;temp[count1] != '\0';++count1){ output[num4] += temp[count1]; } output[num4] += '\0'; ++num4; } } temp = output[0]; if(temp[0] == 'n' || temp[0] == 'N') {//對邏輯進(jìn)行處理 out1(); } else if(temp[0] == 'r' || temp[0] == 'R'){ for(int i = 0;i < num3;++i) { temp = logic[i]; out2(i); } } else { out1(); } fin1.close(); fin2.close(); fout.close(); return 0; }

以上是主函數(shù)

if(temp[0] == 'n' || temp[0] == 'N') {//沒有輸出的情況 fout << "#include <iostream>" << endl; ? ? ? ?fout << "using namespace std;" << endl; ? ? ? ?fout << "int main() {" << endl; ? ? ? ?fout << " ? ?return 0;" << endl; ? ? ? ?fout << "}" << endl; }

這個(gè)是處理沒有輸出的情況

else {//有輸出的情況 fout << "#include <iostream>" << endl; fout << "#include <fstream>" << endl; ? ? ? ?fout << "using namespace std;" << endl; ? ? ? ?fout << "int main() {" << endl; ? ? ? ?fout << " ? ?ofstream fout;" << endl; ? ? ? ?fout << " ? ?fout.open(\"o.txt\");" << endl; ? ? ? ?fout << " ? ?fout << \"" << temp << "\";" << endl; ? ? ? ?fout << " ? ?fout.close();" << endl; ? ? ? ?fout << " ? ?return 0;" << endl; ? ? ? ?fout << "}" << endl; }

這個(gè)是處理有輸出的情況

實(shí)際操作如圖:


得到代碼

運(yùn)行結(jié)果如圖:

這里提示數(shù)組數(shù)據(jù)最后要以空格結(jié)尾。

然后是快速排序和二分查找的配合:

實(shí)際操作如圖:


得到代碼

運(yùn)行結(jié)果如圖:

然后是字符串匹配:

得到代碼

運(yùn)行結(jié)果如圖:

然后是for和if的配合:

編輯

得到代碼:

#include <iostream> #include <fstream> #include <algorithm> #include <string> #include <string.h> #include <cstdlib> #include <ctime> #include <cmath> #include <sstream> using namespace std; int main() { ? ?srand(time(NULL)); ? ?ofstream fout; ? ?ifstream fin; ? ?stringstream stream; ? ?fout.open("o.txt"); ? ?fin.open("in.txt"); ? ?int a[10000]; ? ?string b[10000]; ? ?string temp; ? ?getline(fin, temp); ? ?temp += '\0'; for(;;) { ? ?if() { ? ? ? ?for(;;) { ? ? ? ? ? ?if() { ? ? ? ? ? ? ? ?for(;;) { ? ? ? ? ? ? ? ?} ? ? ? ? ? ?} ? ? ? ?} ? ?} } ? ?fin.close(); ? ?fout.close(); ? ?return 0; }

然后output還有none和有輸出的情況,none我們直接選擇輸出空程序,有輸出直接輸出結(jié)果,不管邏輯。

none情況如圖:

得到代碼

有輸出的情況如圖:

得到代碼:

#include <iostream> #include <fstream> using namespace std; int main() { ? ?ofstream fout; ? ?fout.open("o.txt"); ? ?fout << "1 2 3 4

運(yùn)行結(jié)果如圖:

以上就是寫代碼的代碼的全部內(nèi)容了,希望能給各位C++的忠粉帶來便利!



【項(xiàng)目】寫代碼的代碼【完】的評論 (共 條)

分享到微博請遵守國家法律
应用必备| 新竹市| 潢川县| 江安县| 泌阳县| 金沙县| 高清| 开原市| 商丘市| 贵州省| 台南市| 台州市| 远安县| 钦州市| 汉源县| 错那县| 谢通门县| 竹北市| 田林县| 平武县| 宜宾市| 天等县| 钦州市| 恭城| 广水市| 饶平县| 孟津县| 景德镇市| 新干县| 五常市| 承德县| 沙雅县| 西峡县| 博爱县| 东丰县| 东乡族自治县| 遂宁市| 南昌县| 井陉县| 邻水| 汉寿县|