当前位置: 首页 > news >正文

编程练习2 数据单元的变量替换

示例1:

1,2<A>00

示例2:

1,2<A>00,3<A>00

示例3:

<B>12,1,2<B>1

示例4:

<B<12,1

输出依次如下:

#include<iostream>
#include<vector>
#include<string>using namespace std;/*
字符分割函数 将传入的字符串按照字符分割 放入vector中
*/
vector<string> split_str(string str_input, char c)
{vector<string> result;while(str_input.find(c) != string::npos){int pos_index = str_input.find(c);cout<<"pos_index:"<<pos_index<<endl;string str_tmp = str_input.substr(0, pos_index);//cout<<"str_tmp:"<<str_tmp<<endl;//int digital = stoi(str_tmp);result.push_back(str_tmp);str_input = str_input.substr(pos_index+1);//cout<<"str_input:"<<str_input<<endl;}//int digital = stoi(str_input);cout<<"str_input:"<<str_input<<endl;result.push_back(str_input);return result;
}int main() {string input_str;getline(cin, input_str);vector<string> str_vec;str_vec = split_str(input_str, ',');int count = 0;count = str_vec.size();for (int index = 0; index < count; index++) {string cur_str = str_vec[index];int result1 = cur_str.find("<");int result2 = cur_str.find(">");cout <<"result1:"<<result1<<" result2:"<<result2<<""<<endl;if (result1 == -1 && result2 == -1) {////cout << "case 1"<<endl;} else if(result1>-1 && result2>-1){//cout << "case 2"<<endl;char target_pos = cur_str.substr(result1 + 1, result2)[0];char cur_pos = index + 'A';if (!(target_pos >= 'A' && target_pos <= 'Z')) {//}if (cur_pos == target_pos) {//}int target_index = target_pos - 'A';string temp_result = "";temp_result += cur_str.substr(0, result1);temp_result += str_vec[target_index];temp_result += cur_str.substr(result2 + 1);str_vec[index] = temp_result;}else{//cout << "case 3"<<endl;cout << "-1"<<endl;exit(0);}}count = str_vec.size();for (int i = 0; i < count; i++) {cout << str_vec[i];if (i != count - 1) {cout << ",";}}cout<<""<<endl;return 0;
}

http://www.lryc.cn/news/445981.html

相关文章:

  • mysql的查询操作
  • 0基础学前端 day2
  • Invalid Executable The executable contains bitcode
  • 音视频入门基础:FLV专题(4)——使用flvAnalyser工具分析FLV文件
  • Java服务端开发中的网络安全:防护DDoS与数据泄露的策略
  • CodeMeter 8.20AxProtector 11.50版本更新
  • C语言在嵌入式系统中的应用有哪些?
  • Android 系统WIFI AP模式
  • java jdk8内存序列化为xml
  • 脚本注入网页:XSS
  • Python将ONNX转为Json脚本
  • 医学数据分析实训 项目九 糖尿病风险预测
  • C语言-文件操作-一些我想到的、见到的奇怪的问题
  • 变电站设备检测系统源码分享
  • 电机foc线上课程开课啦
  • 解决Mac 默认设置 wps不能双面打印的问题
  • 智谱清影 - CogVideoX-2b-部署与使用
  • python queue.Queue介绍
  • Qt 每日面试题 -3
  • TypeScript系列:第四篇 - typeof 与 keyof
  • JDK8新增特性(值得收藏)
  • MATLAB系列06:复数数据、字符数据和附加画图类
  • 【永磁同步电机(PMSM)】 4. 同步旋转坐标系仿真模型
  • CSAPP Attack Lab
  • 通信工程学习:什么是NFVI网络功能虚拟化基础设施层
  • 不在同一局域网怎么远程桌面?非局域网环境下,实现远程桌面访问的5个方法分享!
  • SparkSQL-初识
  • Go语言的垃圾回收(GC)机制的迭代和优化历史
  • thinkphp8 从入门到放弃(后面会完善用到哪里写到哪)
  • 对于电商跨境电商独立站中源代码建站和SaaS建站的区别