C++ cin cout, int main() Даны два числа n и m. Создайте двумерный массив размера n×m и заполните
его символами «.» и «*», поставленными в шахматном порядке. В левом верхнем углу должна стоять точка.Ответы на вопрос
Проверил, код работает!
Если будут вопросы - написать в комменты, отвечу.
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;
}
Для создания двумерного массива размера n × m и заполнения его символами "." и "*", можно использовать циклы и условные операторы. Вот пример кода на языке C++:
```cpp
#include
int main() { int n, m; std::cout << "Введите количество строк (n): "; std::cin >> n; std::cout << "Введите количество столбцов (m): "; std::cin >> m;
char chessboard[n][m];
for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if ((i + j) % 2 == 0) { chessboard[i][j] = '.'; } else { chessboard[i][j] = '*'; } } }
// Выводим полученный двумерный массив на экран for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { std::cout << chessboard[i][j] << " "; } std::cout << std::endl; }
return 0; } ```
В этом коде мы сначала объявляем переменные `n` и `m`, которые будут хранить количество строк и столбцов соответственно. Затем мы создаем двумерный массив `chessboard` размера `n × m`.
Затем мы используем два вложенных цикла `for` для заполнения массива символами "." и "*". Если сумма индексов строки и столбца является четным числом, то мы присваиваем элементу массива символ ".", в противном случае - символ "*".
После заполнения массива мы выводим его содержимое на экран, используя еще два цикла `for`.
Пример вывода для `n = 4` и `m = 6`: ``` . * . * . * * . * . * . . * . * . * * . * . * . ```
Надеюсь, это поможет! Если у вас возникнут еще вопросы, не стесняйтесь задавать.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
