Разделим число 89 на два ( 2 - это основание системы счисления). делить будем с остатком, частное запишем в столбец "част.", а остаток в столбец "ост.". затем полученное частное снова разделим на два и новое частное и остаток также распределим по столбцам (см. ниже). повторять деление будем до тех пор, пока последнее частное не окажется меньше двух. част. ост. 89 : 2 = 44 1 44 : 2 = 22 0 22 : 2 = 11 0 11 : 2 = 5 1 5 : 2 = 2 1 2 : 2 = 1 0 теперь мы можем записать число 89 в двоичной системе счисления. для этого в старший (самый левый) разряд числа запишем последнее частное (выделено жирным), а в следующие, по порядку, разряды запишем все полученные выше остатки, беря их снизу вверх. то есть, в самом младшем разряде оказывается самый верхний остаток. ответ: 89= 1011001
dushechkin2
27.03.2020
Ну вот как-то так, если что-то не ясно - спрашивай. инициализации начальных элементов нет, так что без соответствующей правки она не заработает. int main() { // something int a[n][m]; // init // находим максимум int im = 0, jm = 0, max = a[0][0]; for (int i = 0 ; i < n; ++i) for (int j = 0; j < m; ++j) if (a[i][j] > max) { max = a[i][j]; im = i; jm = j; } // двигаем максимум вниз swapcollumn(a, n, m, im, n-1); swaprow(a, n, m, jm, m-1); } //премещаем 2 столбца местами void swapcollumn(int ** a, int n, int m, int c1, int c2) { if (c1 < 0 || c2 < 0 || c1 > = n || c2 > = n) return; for (int i = 0; i < m; ++i) swap(& a[c1][i], & a[c2][i]); } //перемещаем 2 строки местами void swaprow(int ** a, int n, int m, int r1, int r2) { if (r1 < 0 || r2 < 0 || r1 > = m || r2 > = m) return; for (int i = 0; i < n; ++i) swap(& a[i][r1], & a[i][r2]); } void swap(int * el1, int el2) { int t = *el1; *el1 = *el2; *el2 = *el1; }
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Какую часть диска емкостью 210 мб занимают три файла объемом 50 байт, 170 кбайт, 0.15 мбайт?