===== PascalABC.NET =====
begin
var a := ArrRandom(2019, 1, 15000);
// раскомментировать если не надо выводить исходный массив:
//var k := a.Count(p -> p mod 16 = 10);
// закомментировать, если не надо выводить исходный массив:
var k := a.Println.Count(p -> p mod 16 = 10);
Println('Найдено элементов:', k);
var n := 0;
for var i := 0 to a.High do
if a[i].InRange(8, 63) then
(a[i], n) := (k, n + 1);
a.Println;
Println('Сделано замен:', n)
end.
Объяснение:
Если шестнадцатеричная запись числа заканчивается цифрой A, то остаток от его деления на 16 равен А₁₆ = 10.
Числа, восьмеричная запись которых содержит ровно 2 цифры, лежат в диапазоне [10₈; 77₈] = [8; 63]
Объяснение:
Using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
class Program
{
// Дан массив С1, С2, …, С24. В массиве есть два элемента равные 0. Заменить все элементы, стоящие между ними, на единицы
static void Main(string[] args)
{
const int n = 24; // Размер массива
int[] С = new int[n]; // Создали массив
for (int i = 0; i < n; i++) // Вводим элементы массива
{
С[i] = int.Parse(Console.ReadLine());
}
bool check = false; // Индикатор замены (пока что выключен)
for (int i = 0; i < n; i++) // Цикл для выполнения замены
{
if (С[i] == 0) // Если проверемый элемент нулевой, то переулючить индикатор замены и закончить текущую иттерацию
{
check = !check;
continue;
}
if (check == true) // Если индикатор замены включен, то заменяем текущий элемент
С[i] = 1;
}
for (int i = 0; i < n; i++) // Выводим элементы массива
{
Console.WriteLine(С[i]);
}
Console.ReadKey(); // Ждем нажатия клавиши
}
}
}
Подробнее - на -