Умножение начинаем с младших разрядов: если текущий разряд второго числа равен 0, то везде записываем нули, если 1 - то переписываем первое число.
6
6
=
6
=
0
При суммировании в разрядах 0 возникло переполнение. Причем переполнение возникло и в старшем разряде, поэтому записываем 1 впереди полученного числа, и получаем: 10
В десятичной системе счисления данное число имеет следующий вид:
Для перевода необходимо умножить разряд числа на соответствующую ему степень разряда.
10 = 21*1 + 20*0 = 2 + 0 = 2
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 6 и 6 в десятичное представление.
#include <stdio.h>
/* организовать ввод и вывод матрицы в виде отдельных функций. */
void scanMatrix(unsigned n, int matrix[n][n])
{
printf("Enter matrix elements, separated by spaces:\n");
for (unsigned i = 0; i < n; i++)
{
for (unsigned j = 0; j < n; j++)
{
scanf("%d", &matrix[i][j]);
}
}
}
void printMatrix(unsigned n, int matrix[n][n])
{
printf("These are matrix elements:\n");
for (unsigned i = 0; i < n; i++)
{
for (unsigned j = 0; j < n; j++)
{
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main()
{
unsigned n;
/* организовать ввод квадратной матрицы размера nxn из целых чисел; */
printf("Enter matrix dimension: ");
scanf("%u", &n);
int matrix[n][n];
scanMatrix(n, matrix);
/* возвести в квадрат все отрицательные элементы матрицы; */
for (unsigned i = 0; i < n; i++)
{
for (unsigned j = 0; j < n; j++)
{
if (matrix[i][j] < 0)
{
matrix[i][j] *= matrix[i][j];
}
}
}
/* переставить нулевые элементы первой строки матрицы в ее начало; */
unsigned lastReplacableIndex = 0;
for (unsigned i = 1; i < n; i++)
{
if (matrix[0][i] == 0)
{
int temp = matrix[0][lastReplacableIndex];
matrix[0][lastReplacableIndex] = matrix[0][i];
matrix[0][i] = temp;
lastReplacableIndex++;
}
}
printMatrix(n, matrix);
}
6*6
Умножение начинаем с младших разрядов: если текущий разряд второго числа равен 0, то везде записываем нули, если 1 - то переписываем первое число.
6
6
=
6
=
0
При суммировании в разрядах 0 возникло переполнение. Причем переполнение возникло и в старшем разряде, поэтому записываем 1 впереди полученного числа, и получаем: 10
В десятичной системе счисления данное число имеет следующий вид:
Для перевода необходимо умножить разряд числа на соответствующую ему степень разряда.
10 = 21*1 + 20*0 = 2 + 0 = 2
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 6 и 6 в десятичное представление.
6 = 20*6 = 6 = 6
6 = 20*6 = 6 = 6
6 x 6 = 36