
Язык не указан, предоставляю решение на C#:
class sample
{
public static void WrongData()
{
Console.WriteLine("Введите корректные значения.");
Console.ReadLine();
return;
}
}
class Program
{
static void Main(string[] args)
{ string StringCount;
Console.WriteLine("Введите кол-во элементов массива ( от 2 до 100 ) .");
StringCount = Console.ReadLine();
if (!(int.TryParse(StringCount, out int Count)
&& Count >= 2 && Count <= 100)) sample.WrongData();
int[] Array = new int[Count];
// заполнение массива рандомными числами:
var Randomizer = new Random();
int RandomNumber;
for(int i = 0; i < Count; i++)
{
RandomNumber = Randomizer.Next(-1000, 1000);
Array[i] = RandomNumber;
}
var ListForNumbers = Array.ToList();
var ListForPublic = new List<int>();
for(int z = 0; z < ListForNumbers.Count; z++)
{
for(int s = ( z + 1 ); s < ListForNumbers.Count; s++)
{
if (ListForNumbers[z] == ListForNumbers[s])
{
ListForNumbers.Remove(ListForNumbers[z]);
ListForPublic.Add(ListForNumbers[z]);
}
}
}
Console.Write("Все элементы в списке: ");
foreach(int FirstChecker in Array)
{
Console.Write($"{FirstChecker} ");
}
if (ListForPublic.Count == 0)
{
Console.WriteLine("\nПовторяющихся элементов в списке - нет .");
Console.ReadLine();
return;
}
Console.Write("\nУникальные элементы в списке: ");
foreach(int SecondChecker in ListForNumbers)
{
Console.Write($"{SecondChecker} ");
}
Console.Write("\nОдинаковые элементы в списке: ");
foreach(int ThirdChecker in ListForPublic)
{
Console.Write($"{ThirdChecker} ");
}
Console.ReadLine();
}
}
Всё с проверками и с максимальным удобством, поэтому и объемный код .
Для робота в системе Кумир такие программы например подойдут: (размеры поля- любые (от 1x1), размеры узоров настраиваются- задавайте любое смещение между линиями пунктирными и линиями клеток (начиная от 1, т.е. без зазоров), любой размер пунктира- задаётся длина самого штриха пунктира и его длина вместе с пробелом)
1) Закраска всего поля горизонтальными пунктирными линиями:
использовать Робот
цел г,в
алг |рисуем пунктирные линии (начальное положение - левый верхний угол)
нач
в:=0
нц
г:=0
нц пока mod(в,3)=0 |смещение до следующей линии
если mod(г,3)<2 то закрасить всё |длина цикла / длина пунктира
если справа свободно то вправо иначе выход всё
г:=г+1
кц
если снизу свободно то вниз иначе выход всё
нц пока слева свободно
влево
кц
в:=в+1
кц
кон
2) Закраска только углов поля:
использовать Робот
алг |закраска всех углов (начальное положение - левый верхний угол)
нач
закрасить
нц пока справа свободно
вправо
кц
закрасить
нц пока снизу свободно
вниз
кц
закрасить
нц пока слева свободно
влево
кц
закрасить
кон
3) Закраска всего поля узором в клетку:
использовать Робот
цел г,в
алг |рисуем клетки (начальное положение - левый верхний угол)
нач
в:=0
нц
г:=0
нц |смещение до следующей линии (по горизонтали и вертикали)
если mod(г,3)=0 или mod(в,3)=0 то закрасить всё
если справа свободно то вправо иначе выход всё
г:=г+1
кц
если снизу свободно то вниз иначе выход всё
нц пока слева свободно
влево
кц
в:=в+1
кц
кон
Начальное положение везде- левый верхний угол. Если нужно другое- то либо в программе меняйте все команды верх-низ местами (или даже лев-прав если надо), либо в начале программы можно добавить циклы приведения робота откуда угодно в верхний левый угол.
Что то типа:
нц пока слева свободно; влево кц
нц пока сверху свободно; вверх кц

