Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/47: Рейтинг темы: голосов - 47, средняя оценка - 4.94
6 / 6 / 0
Регистрация: 14.02.2018
Сообщений: 60

Заполнить двумерный массив случайными неповторяющимися числами

24.02.2018, 22:00. Показов 9028. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Работаю в windows forms, нужно заполнить двумерный массив случайными неповторяющимися числами. Вот вам шаблон:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int n;
                n = int.Parse(textBox2.Text);
 
                int m = n;
                
                Random r = new Random();
                int[,] arr = new int[n, m];
 
                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < m; j++)
                    {
                      arr[i, j] = r.Next(-10, 10);
                        
                    }
                }
Заранее спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.02.2018, 22:00
Ответы с готовыми решениями:

Заполнить двумерный массив случайными неповторяющимися числами
Помогите пожалуйста! Заполнить двумерный массив случайными неповторяющимися числами.

Заполнить массив неповторяющимися числами
Только начали изучать C# и дали такую задачу: Дан массив из 10 элементов,заполнить цифрами от 1 до 10,при помощи Random вывести на экран...

C# Используя датчик случайных чисел,заполнить массив из 20 элементов неповторяющимися числами
Привет всем!Задача на С# Используя датчик случайных чисел,заполнить массив из 20 элементов неповторяющимися числами.Пожалуйста помогите...

4
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
24.02.2018, 22:12
C#
1
2
3
4
5
6
7
8
9
10
Random r = new Random();
int[,] arr = new int[n, m];
List<int> list = Enumerable.Range(-1 * n * m / 2, n * m).OrderBy(x => r.Next()).ToList();
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < m; j++)
    {
        arr[i, j] = list[i * n + j];
    }
}
2
6 / 6 / 0
Регистрация: 14.02.2018
Сообщений: 60
24.02.2018, 22:36  [ТС]
Можете объяснить как это работает?
C#
1
List<int> list = Enumerable.Range(-1 * n * m / 2, n * m).OrderBy(x => r.Next()).ToList();
и
C#
1
 arr[i, j] = list[i * n + j];
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
24.02.2018, 22:46
Enumerable.Range(-1 * n * m / 2, n * m) - формируется последовательность чисел от -(m*n)/2 количеством n*m с шагом 1.
.OrderBy(x => r.Next()) - последовательность перемешивается случайным образом
.ToList() - последовательность приводится к List
arr[i, j] = list[i * n + j]; - берем очередной элемент листа и присваиваем очередному элемента массива
1
 Аватар для Вадим Тукаев
310 / 291 / 116
Регистрация: 23.01.2018
Сообщений: 933
25.02.2018, 16:31
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using System;
using System.Linq;
using System.Collections.Generic;
 
class Program
{
    private static Random rnd = new Random();
 
    public static void Main()
    {
        int n = Int32.Parse(Console.ReadLine());
        int m = n;
        Queue<int> que = new Queue<int>(Enumerable.Range(0, n * m).OrderBy(_ => rnd.NextDouble()));
        int[,] arr = new int[n, m];
        for (int i = 0; i < n; ++i)
        {
            for (int j = 0; j < m; ++j)
            {
                if (j != 0) Console.Write('\t');
                Console.Write(arr[i, j] = que.Dequeue());
            }
            Console.WriteLine();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.02.2018, 16:31
Помогаю со студенческими работами здесь

Используя датчик случайных чисел, заполнить массив из двадцати элементов неповторяющимися числами
Используя датчик случайных чисел, заполнить массив из двадцати элементов неповторяющимися числами.

Заполнить массив случайными числами
необходимо заполнить массив случайными числами, но таким образом, чтобы сумма элементов массива была равна 1. Числа должны лежать в...

Заполнить массив случайными числами
Помогите пожалуста такое задание: Создань масив 6строк ,3 столбца,заполнисть случайным числами,и пощитать суму всех отрицательных чисел...

Заполнить массив случайными числами
Требуется создать массив из 15 элементов и заполнить его случайными числами, подсчитать количество отрицательных элементов. Это сделано. ...

Заполнение двухмерного массива случайными и неповторяющимися числами
Доброго времени суток. В задачке нужно заполнить двухмерный(трехмерный) массив случайными неповторяющимися цифрами. Одномерный массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru