я не очень уверен в правильности своего кода и его качества, но вроде работает как надо.
короче тут мы сначала вводим переменные n, k, и еще две(они потом в конце пригодятся). даем пользователю ввести значения для n и для k, затем создаем матрицу которая равна nxn(то есть если n =24, то матрица бцдет состоять из 24 строк и столбцов). Затем мы должны проверить k больше чем n или нет, если больше, то здесь нам бы выдало ошибку, по этому через оператор if мы ее обработали и в случае если k > n, мы выведем следущее сообщение "error(k<n!=true)". Потом с алгоритма for даем пользователю возможность ввести значения в нашу матрицу. после ввода мы берем те две переменные которые ввели вначале и записываем в них числа с индексом k, после чего просто меняем их местами и через цикл for выводим значения матрицы.
список просто является словариком для букв, чтоб можно было выдать им численное значение
в первую ячейку списка вносится численное значение буквы(горизонтали), а во вторую просто численное значение по вертикали
далее идет проверка на цвет:
глядя на шахматную доску, можно увидеть некую закономерность
в строке 1(нечетная) к каждой нечетной букве соответствует черная ячейка, а в строке 2(четная) наоборот. Это говорит о том, что по вертикали идет сдвиг то вправо, то влево. Суть проверки заключается в том, что мы добавляем численное значение по горизонтали и добавляем к нему остаток от деления на два значения по вертикали, сумму так же проверяем на четность, если сумма нечетная - 1(черная), иначе - 0 (белая)
#include <iostream>
using namespace std;
int main() {
int n=0, k=0, i1, i2;
cin >> n >> k;
if(k<n){
int matrix[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0 ; j < n; j++) {
cin >> matrix[i][j];
}
}
i1 = matrix[k][n];
i2 = matrix[n][k];
matrix[k][n] = i2;
matrix[n][k] = i1;
for (int i = 0; i < n; i++) {
for (int j = 0 ; j < n; j++) {
cout << matrix[i][j] <<" ";
}
}
} else {
cout <<"error(k<n!=true)"<< endl;
}
return 0;
}
Объяснение:
я не очень уверен в правильности своего кода и его качества, но вроде работает как надо.
короче тут мы сначала вводим переменные n, k, и еще две(они потом в конце пригодятся). даем пользователю ввести значения для n и для k, затем создаем матрицу которая равна nxn(то есть если n =24, то матрица бцдет состоять из 24 строк и столбцов). Затем мы должны проверить k больше чем n или нет, если больше, то здесь нам бы выдало ошибку, по этому через оператор if мы ее обработали и в случае если k > n, мы выведем следущее сообщение "error(k<n!=true)". Потом с алгоритма for даем пользователю возможность ввести значения в нашу матрицу. после ввода мы берем те две переменные которые ввели вначале и записываем в них числа с индексом k, после чего просто меняем их местами и через цикл for выводим значения матрицы.
a=input().lower()
b=input().lower()
mas=["a","b","c","d","e","f","g","h"]
a=[mas.index(a[0]) + 1] + [int(a[1])]
b=[mas.index(b[0]) + 1] + [int(b[1])]
a_bool=(a[0] + a[1]%2)%2
b_bool=(b[0] + b[1]%2)%2
if a_bool == b_bool:
print("Клетки одного цвета")
Объяснение:
вводятся два значения
список просто является словариком для букв, чтоб можно было выдать им численное значение
в первую ячейку списка вносится численное значение буквы(горизонтали), а во вторую просто численное значение по вертикали
далее идет проверка на цвет:
глядя на шахматную доску, можно увидеть некую закономерность
в строке 1(нечетная) к каждой нечетной букве соответствует черная ячейка, а в строке 2(четная) наоборот. Это говорит о том, что по вертикали идет сдвиг то вправо, то влево. Суть проверки заключается в том, что мы добавляем численное значение по горизонтали и добавляем к нему остаток от деления на два значения по вертикали, сумму так же проверяем на четность, если сумма нечетная - 1(черная), иначе - 0 (белая)
Потом просто идет сравнение