Ниже робота расположено 10 клеток, расположенных в 2 ряда, положение закрашенных клеток неизвестно. напишите алгоритм под робота, чтобы он закрасил все незакрашенные клетки в полосе.
Примеры перевода из десятичной СС в двоичную, восьмеричную и шестнадцатиричную ССДвоичная СС (q=2). Переведем число 2310 в двоичное представление. Используя вышеизложенное правило, разделим число 23 на основание целевой СС - 2: 23/2 = 11 и 1 в остатке. Младшая цифра двоичного числа - 1. Делим 11 на 2, получаем 5 и 1 в остатке. Следующая цифра числа - тоже 1. Записываем ее слева от предыдущей цифры - 11. Далее получаем 2 и 1 в остатке, а само число - 111. Далее, 2/2 = 1 и 0 в остатке. Получилось число 0111. Последнюю единицу делим опять на 2, получаем в результате 0 (это значит, что процесс перевода закончен) и в остатке - 1. Поолучили число 10111. Таким образом, 2310=101112.Восьмеричная СС (q=8). Перевдем десятичное число 100 в восьмеричный вид: 100/8=12 и 4 в остатке 12/8=1 и 4 в остатке 1/8=0 и 1 в остатке Получили 10010=1448.Шестнадцатиричная СС (q=16). Перевдем десятичное число 1000 в шестадцатиричную СС: 1000/16=62 и 8 в остатке 62/16=3 и 14 в остатке 3/16=0 и 3 в остатке Вспомним, что цифры, большие девяти, обозначаются буквами. Цифре 14 соответствует буква E. Получили 100010=3E816.
// исходный массив int mas[10] = {21,13,52,43,9,18,27,34,28,56}; int i = 0; // счетчик int index_min; // переменна для хранения индекса минимального элемента в массиве int min = mas[0]; // сначала принимаем 1ый элемент как минимальный while (i < 10) { // проходим по всему массиву if (mas[i] < min) { // если текущий элемент меньше минимального min = mas[i]; // делаем его минимальным index_min = i; // запоминаем его индекс } i++; // увеличиваем счетчик } printf("Min = %d ", mas[index_min]); // выводим минимальный элемент int Sum = 0; // переменная для подсчета суммы i = index_min+1; // индес следующего элемента - правее за минимальным while (i < 10) { // пробегаем по массиву от следующего за минимальным до конца Sum += mas[i]; // суммируем i++; // увеличиваем счетчик } printf("Sum = %d ", Sum); // выводим результат суммы
100/8=12 и 4 в остатке
12/8=1 и 4 в остатке
1/8=0 и 1 в остатке
Получили 10010=1448.Шестнадцатиричная СС (q=16). Перевдем десятичное число 1000 в шестадцатиричную СС:
1000/16=62 и 8 в остатке
62/16=3 и 14 в остатке
3/16=0 и 3 в остатке
Вспомним, что цифры, большие девяти, обозначаются буквами. Цифре 14 соответствует буква E. Получили 100010=3E816.
int mas[10] = {21,13,52,43,9,18,27,34,28,56};
int i = 0; // счетчик
int index_min; // переменна для хранения индекса минимального элемента в массиве
int min = mas[0]; // сначала принимаем 1ый элемент как минимальный
while (i < 10) { // проходим по всему массиву
if (mas[i] < min) { // если текущий элемент меньше минимального
min = mas[i]; // делаем его минимальным
index_min = i; // запоминаем его индекс
} i++; // увеличиваем счетчик }
printf("Min = %d ", mas[index_min]); // выводим минимальный элемент
int Sum = 0; // переменная для подсчета суммы
i = index_min+1; // индес следующего элемента - правее за минимальным
while (i < 10) { // пробегаем по массиву от следующего за минимальным до конца
Sum += mas[i]; // суммируем
i++; // увеличиваем счетчик
}
printf("Sum = %d ", Sum); // выводим результат суммы