Рандомный двумерный массив c

У меня есть массив:

int[,] mas = new int[n,n];

Помогите заполнить его случайными числами.

Имя: Александр
Дата добавления: 2012-10-29

Это делается очень просто:

Random r = new Random (); // объявление переменной для генерации случ. чисел

for ( int i = 0; i // массив заполнения случ. числами
<
for ( int j = 0; j // от 0 до 9
>
>

Имя: Максим
Дата добавления: 2013-10-19

Компилятор ругается на отсутствие j и n в текущем контексте, использование локальной переменной n не присвоено значение.

Имя: Александр
Дата добавления: 2013-10-19

На j он ругаться не может, просто вы наверное не объявили его:

А n — конечно будет ругаться, потому что — это длина массива! Это же часть кода программы, а не целая. Объявите n и не будет ругаться!

Дан двумерный массив 3х3, заполнить его через рандом и посчитать сумму всех элементов массива. То что я написал, на мой взгляд работает не правильно. Подскажите пожалуйста, где допущена ошибка?

2 ответа 2

В целом код правильный. Вызывает вопрос mas[i][j] = 0 + rand(); — зачем нужно прибавлять 0, если mas[i][j] = rand() дает тот же результат. Для вывода массива используйте

В коде есть неопределенное поведение.

Т.к. в зависимости от компилятора rand() может вернуть от 0 до 32767 (MSVC) или от 0 до 2147483647 (gcc, clang), то в строчке

может случится переполнение 9 раз. Можно объявить sum как 64 битный int

Фактически вы обращаетесь к ячейки mas[3][3], а это выход за границы массива, там может быть что угодно.

Привет всем, на куролесил я тут с "программой". Задача стояла так: дан двумерный массив 3х3, заполнить его через рандом и посчитать сумму всех элементов массива. Я что-то написал, но оно на мой взгляд работает не правильно. Подскажите, пожалуйста, где допущена ошибка?

  • Вопрос задан более двух лет назад
  • 2126 просмотров
Читайте также:  Режим мастера в access

Вот так вот надо было сделать?

Если ты про то, что могут выводиться отрицательные суммы, так это из-за переполнения, когда rand() генерит большие числа. Для красоты можно генерировать числа до ста, например.

При запуске выведет, что-то типа этого

Я что-то написал, но оно на мой взгляд работает не правильно