Предмет: Информатика,
автор: nawej88173
c++ cin cout, int main()
Даны два числа n и m. Создайте двумерный массив размера n×m и заполните его символами «.» и «*», поставленными в шахматном порядке. В левом верхнем углу должна стоять точка.
Ответы
Автор ответа:
0
Проверил, код работает!
Если будут вопросы - написать в комменты, отвечу.
P. S.
n - кол-во столбцов
m - кол-во строк.
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n, m;
cin >> m >> n;
bool isDot = true, isA = !(n % 2) and !(m % 2) or n % 2 and !(m % 2);
vector<vector<char>> v(n, vector<char>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if(isDot)
v[i][j] = '.';
else v[i][j] = '*';
isDot = isDot xor 1;
}
if(isA) isDot = isDot xor 1;
}
for(auto& i: v){
for(auto j: i)
cout << j << ' ';
cout << endl;
}
return 0;
}
Похожие вопросы
Предмет: Алгебра,
автор: Ник11111113
Предмет: Русский язык,
автор: pencilkar
Предмет: Русский язык,
автор: Софа5551
Предмет: Литература,
автор: CalebDume234
Предмет: Математика,
автор: ника2970