前回
から続きまして
大体ひな形的なものは前回でできたのでそれの応用です。
いざ!!
↓
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(void){
//変数定義
int H,W,N,x,y;
std::cin >> H >> W >> N;
//文字盤作成 std::vector<型> 変数名(配列サイズ,初期値)
std::vector<string> dial(H);
for(int i = 0; i < H ; i++ )
{
//vctor配列i行目に文字列を設定
std::cin >> dial[i];
}
//座標にアクセスしてy行目のx文字目を#に置き換え
for(int j = 0; j < N; j++)
{
std::cin >> y >> x;
dial[y].replace(x,1,"#");
//std::cout << dial[y][x] << std::endl;
}
for(int i = 0; i < H; ++i)
{
std::cout << dial.at(i) << std::endl;
}
return 0;
}
<今回の反省>
今回は解説も見たのでそれも含めて
・vectorわからん泣
・”と・・・’。
グーグル先生に聞きました。
そして大きな?ミス。
今回は文字盤を作成して、指定された座標の文字を書き換えるのですが、
解説では
dial[y][x] = '#';
で、自分は
dial[y].replace(x, 1, "#");
自分の奴でうまくいったのですが、実は解説と同じやり方を最初にやっていたのに、
dial[y][x] = "#";
でエラーになり、よくわからずに諦めていました・・・・・・・・・・・。
'だったのか・・・。
一応文字列操作を参考にできたのでよしとします(笑)
vectorとか勉強しなきゃなあ。


