Программист, написание алгоритма

Петров7 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
07.06.2018

Имеется двухмерный массив. Заданы некоторые его элементы. Пример – матрица размером скажем 300 (по горизонтали) на 100 ( по вертикали) 30000 ячеек. Есть заполненные случайным образом скажем 200 ячеек, допустимые значения – целые числа от -10 до 10  и нуль. Нужно заполнить остальные 29800 по плавному алгоритму, что означает плавный переход от одной заполненной области к другой.  

На примере одномерного массива – изначальный ряд 4_ _ _ _ _ _ _ _ 7, должен быть преобразован в 4 4 4 5 5 6 6 7 7 7. 

Обязательные условия: алгоритм должен работать если размер матрицы и/или количество заполненных значениями точек меняется. То есть пустые ячейки должны пересчитаться "плавно" если размер матрицы скажем станет 61 на 789 или 32542 на 46587, а количество точек с известными значениями случайным образом разбросанных по матрице увеличится с 200 до 2000 или уменьшится с 200 до 140. Целые значения от -10 до 10 – тоже должны быть аргументами функции (метода) решающего эту задачу. Язык разработки: VBA, VB, C#. Исходный файл с данными модели – лист Excel. 

Этот лист не предоставляется для подготовки решения, исполнитель сам должен подготовить его с учетом вышеизложенных условий и ограничений. Задача считается решенной если исполнитель продемонстрировал решение минимум на трех матрицах разной конфигурации (разный размер самой матрицы, разное количество известных точек и их разный разброс по матрице). 

Солюшн проекта выкладывается на github