У меня есть массив:
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 просмотров
Вот так вот надо было сделать?
Если ты про то, что могут выводиться отрицательные суммы, так это из-за переполнения, когда rand() генерит большие числа. Для красоты можно генерировать числа до ста, например.
При запуске выведет, что-то типа этого
Я что-то написал, но оно на мой взгляд работает не правильно