2016-02-21 2 views
1

Мне нужны идеи, как это сделать. Я только начал изучать программирование. Мне нужно создать программу, которая генерирует случайные пятна (отмеченные символами *) в заполненной матрице. символы. Размер матрицы вводится в консоли (int n и int m). Мне удалось сделать эту часть. Но тяжелая часть - я должен найти количество пятен (* и каждый * рядом с ним в одном месте) и самый большой из пятен. Как я могу это сделать?Самые большие пятна в матрице C#

Большое спасибо ... here's how matrix looks like в этом случае - число пятен должно быть 6 и самый большой размер пятна 21

+0

Поиск [заливка заливки] (https://en.wikipedia.org/wiki/Flood_fill) – Martheen

ответ

0

Вы должны генерировать 3 случайных чисел. Первое число будет первым индексом матрицы, второе число - вторым индексом в матрице и третьим числом итераций вышеупомянутых 2 действий. Используйте класс System.Random и метод этого класса yourobject.Next(). Конструктор этого класса имеет две перегрузки. Одна перегрузка пуста. Он генерирует семя в зависимости от времени (будьте осторожны со временем !!! Не инициализируйте объекты внутри цикла). Другая перегрузка - использование семени, данное вами. Статический метод Next() также был двумя перегрузками. Один пуст. Он генерирует случайное число, и не более того. Во второй перегрузке вам нужно указать максимальное число. Числа, которые будут сгенерированы, будут в этой длине n < номерной номер. В вашем случае для создания индекса вам нужно указать в качестве параметра длину матрицы + 1, но результат должен быть: результат - 1 (я думаю, вы поймете, почему). Удачи!

Смежные вопросы