読者です 読者をやめる 読者になる 読者になる

紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

ABC050_A

文字列を分割して数値にする問題

C++におけるsplit関数の実装
qiita.com

#include <iostream>
#include <cstdio>
#include <string>
#include <sstream>
#include <vector>

using namespace std;

int stoi(std::string str){
  int ret;
  std::stringstream ss;
  ss<<str;
  ss>>ret;
  return ret;
}

vector<string> split(const string &s, char delim) {
  /*
    文字列分割してvector<string>を返す
   */
    vector<string> elems;
    stringstream ss(s);
    string item;
    while (getline(ss, item, delim)) {
    if (!item.empty()) {
            elems.push_back(item);
        }
    }
    return elems;
}


int main()
{
  string Str;
  vector<string> ans;
  int a,b;
  getline(cin, Str);//空白ごと1行入力
  ans = split(Str,' ');
  a = stoi(ans[0]);
  b = stoi(ans[2]);
  if(ans[1]=="+")
    printf("%d\n",a+b);
  else
    printf("%d\n",a-b);
  return 0;
}


空白を含めて一行入力したい場合は

getline(cin,str);