public static void MatrixFiller(int[] FArray, int[] SArray)
{
Random rnd = new Random();
for (int i = 0; i < FArray.Length; i++)
{
FArray[i] = rnd.Next(300);
}
for (int i = 0; i < SArray.Length; i++)
{
SArray[i] = rnd.Next(300);
}
}
Предположим, что первый массив длиной 3, а второй 5.
После выполнения данного метода получается такая ситуация:
Первый метод: 205 205 205
Второй метод: 205 205 205 205 205 (число 205 взято рандомно мною)
Всегда оба массива заполнены одинаковыми числами. В чем беда?
Примечание:
Прим. ООП как такового у нас не было;
Как решить эту проблему? Ведь по сути мы обращаемся к методу 1 раз, соответственно переменная rnd объявляется 1 раз. А позже в циклах берутся именно rnd.Next() ;
Примечание:
В своё время был совет вытащить объявление переменной rnd в метод Main.
Но тогда придётся в теле метода MatrixFiller каждый круг цикла запрашивать значение rnd с Main?
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.