前提・実現したいこと
8×8マスの数字が与えられて、ある数字に注目したとき、0から上下左右にある数字をひいて注目した数の5倍の数を加えます。その後、別の8×8マスを用意してその数字があったところに今計算した数字を入れていくプログラムを作りたいです。8×8の範囲外の数字は0としてください。
for example(3×3の時)
1 2 3 -1 1 7
4 5 6 → 7 5 13
7 8 9 23 19 31
発生している問題・エラーメッセージ
C++ std::istream &std::istream::operator>>(int &_Val)
+16のオーバーロード
該当のソースコード
c++
1#include <algorithm> 2#include <bitset> 3#include <complex> 4#include <deque> 5#include <exception> 6#include <fstream> 7#include <functional> 8#include <iomanip> 9#include <ios> 10#include <iosfwd> 11#include <iostream> 12#include <istream> 13#include <iterator> 14#include <limits> 15#include <list> 16#include <locale> 17#include <map> 18#include <memory> 19#include <new> 20#include <numeric> 21#include <ostream> 22#include <queue> 23#include <set> 24#include <sstream> 25#include <stack> 26#include <stdexcept> 27#include <streambuf> 28#include <string> 29#include <typeinfo> 30#include <utility> 31#include <valarray> 32#include <vector> 33#include <array> 34#include <chrono> 35#include <condition_variable> 36#include <forward_list> 37#include <initializer_list> 38#include <mutex> 39#include <random> 40#include <ratio> 41#include <regex> 42#include <system_error> 43#include <thread> 44#include <tuple> 45#include <typeindex> 46#include <type_traits> 47#include <unordered_map> 48#include <unordered_set> 49using namespace std; 50int main() { 51 int a[10][10]{}; {}; 52 53 for (int i = 0;i < 10;i++) { 54 for (int j = 0;j < 10;j++) { 55 56 cin >> a[i][j]; 57#打ち込むときは10×10のマスを使用し、周りの一行一列は0をいれます。 58 } 59 } 60 int b[10][10]{}; {}; 61 for (int i = 1;i < 9;i++) { 62 for (int j = 1;j < 9;j++) { 63 b[i][j] = -a[i-1][j] - a[i][j-1] + 5 * a[i][j] - a[i][j+1] - a[i+1][j]; 64 } 65 } 66 for (int i = 1;i < 9;i++) { 67 for (int j = 1;j < 9;j++) 68 cout << b[i][j]; 69 70 cout << endl; 71 } 72 73} 74``` 75 76### 試したこと 77 78もともとはintでなくvectorを使ってやりましたが無理でした。 79 80 81### 補足情報(FW/ツールのバージョンなど) 82visual studio を使用しています。 83初心者なのでできるだけ簡単にお願いします。
回答1件
あなたの回答
tips
プレビュー