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

Как заполнить массив диапазоном c [-50, 50]?

21.01.2019, 00:05. Показов 6398. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста заполнить массив даблом с [-50, 50]

C#
1
2
3
4
5
6
7
8
9
10
//конструктор в классе
public Array(int n) 
        {
            dbArray = new double[n];
            Random r = new Random();
            for (int i = 0; i < n; i++) 
            {
                dbArray[i] = r.NextDouble();
            }
        }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2019, 00:05
Ответы с готовыми решениями:

Заполнить массив диапазоном случайных значений с плавающей точкой
Подскажите как заполнить при помощи random массив диапазоном случайных значений с плавающей точкой, например, от -2.3 до 2.3,...

Как заполнить ListBox данными с разных листов и с меняющимся диапазоном
Здравствуйте! Подскажите пожалуйста, как заполнить ListBox данными с разных листов Excel и с меняющимся диапазоном? Использовала уже...

Заполнить поле нужным диапазоном значений
Доброго времени суток! Суть вопроса вот в чем: Есть база данных, в ней таблица promocode с полем pcode для промокодов и used для...

14
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.01.2019, 00:24
do_while, вместо NextDouble вызывайте просто Next(-50, 51)

51 — потому что верхняя граница не входит в число генерируемых значений.

Добавлено через 1 минуту
Совет не по теме: при обходе массива в цикле for используйте свойство массива Length вместо переменной n:
C#
1
for (int i = 0; i < dbArray.Length; i++)
1
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 17
21.01.2019, 00:27  [ТС]
kolorotur, спасибо.
А как сделать, чтобы числа были вещественными?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.01.2019, 00:30
Лучший ответ Сообщение было отмечено do_while как решение

Решение

Цитата Сообщение от do_while Посмотреть сообщение
А как сделать, чтобы числа были вещественными?
А, вам вещественные нужны.
C#
1
dbArray[i] = r.NextDouble() * 100 - 50;
Общая формула для генерирования случайных вещественных чисел в диапазоне [min, max) такая:
x = min + r.NextDouble() * (max - min);
1
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 17
21.01.2019, 00:43  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
dbArray[i] = r.NextDouble() * 100 - 50;
Попробовал, но в массиве целые числа..
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.01.2019, 00:53
Цитата Сообщение от do_while Посмотреть сообщение
Попробовал, но в массиве целые числа..
Ну значит кто-то из нас врёт

0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.01.2019, 00:54
С ограничением:
0
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 17
21.01.2019, 01:02  [ТС]
Может не правильно инициализирую? Проверил через онлайн компилятор. Все также.
Просто в задании через конструктор нужно.
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
class Array {
        public double[] dbArray;
        public Array(int n) 
        {
            dbArray = new double[n];
            Random r = new Random();
            for (int i = 0; i < dbArray.Length; i++) 
            {
                dbArray[i] = r.NextDouble() * 100 - 50;               
            }
        }
        public static void GetValues(double[] dbArray) {
            foreach(int i in dbArray)
                Console.WriteLine(i);
        }
    }
    
    public class Program
    {
        public static void Main(string[] args)
        {
           Array a = new Array(10);
            Array.GetValues(a.dbArray);
        }
    }
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.01.2019, 01:12
Цитата Сообщение от do_while Посмотреть сообщение
C#
1
foreach(int i in dbArray)
Какого-какого типа у вас i?
1
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 17
21.01.2019, 01:18  [ТС]
...как же сложно с JS-a переходить на шарп :black_eye.:
Спасибо за помощь.
0
HF
 Аватар для HF
1311 / 889 / 200
Регистрация: 09.09.2011
Сообщений: 2,645
Записей в блоге: 2
21.01.2019, 07:07
Цитата Сообщение от kolorotur Посмотреть сообщение
Совет не по теме: при обходе массива в цикле for используйте свойство массива Length вместо переменной n:
Почему? Особенно в данном примере.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.01.2019, 10:02
Цитата Сообщение от HF Посмотреть сообщение
Почему?
Чтобы не вырабатывалась привычка таскать за собой n, плюс если человек начинающий, то он может банально не знать о наличии этого свойства.
Бонусом — джиттер оптимизирует такие циклы, удаляя проверку на выходы за границы массива, тем самым улучшая производительность.
Для 10 элементов значения не имеет, но в целом знать полезно.
1
0 / 0 / 0
Регистрация: 10.01.2019
Сообщений: 17
21.01.2019, 10:18  [ТС]
Цитата Сообщение от kolorotur Посмотреть сообщение
оптимизирует
Я думал, что в массиве за каждый шаг будет высчитываться этот Length, а с переменной он уже будет знать, какое в ней значение..
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
21.01.2019, 11:14
Цитата Сообщение от do_while Посмотреть сообщение
за каждый шаг будет высчитываться этот Length
"Высчитывание" равносильно считыванию той же переменной.
Массивы в шарпе знают свою длину — им не надо, как в сях, делать обход, то есть это О(1).
0
HF
 Аватар для HF
1311 / 889 / 200
Регистрация: 09.09.2011
Сообщений: 2,645
Записей в блоге: 2
21.01.2019, 15:23
Цитата Сообщение от do_while Посмотреть сообщение
Я думал, что в массиве за каждый шаг будет высчитываться этот Length, ...
Это для последовательностей, через .Count()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.01.2019, 15:23
Помогаю со студенческими работами здесь

рандомный массив с диапазоном, и не только
нужно сделать рандомный массив с диапазоном, -500 500, и так что бы размер массива нужно задавать пользователю, а не кодеру... как...

Массив: как заполнить этот массив, и как реализовать поиск значений по столбику и строке?
Есть таблица как на рисунке, мне нужно реализовать выборку по столбику и по строке. вопрос как заполнить этот массив, и как реализовать...

Массив: Как заполнить массив, и как добраться до элемента массива record'ов?
Как заполнить массив, и как добраться до элемента массива record'ов? type myrec = record word1 : string; word2 :...

Создать двухмерный массив с диапазоном случайных чисел (от -10 до 10)
Ребят помогите с задачей, парюсь и не как не могу понять как это сделать... Составить программу обработки двумерного массива размером...

Массив: Как именно заполнить шестимерный массив одним циклом?
Создать целый шестимерный массив с двумя значениями в каждом измерении. Заполнить массив числами из начала натурального ряда: 1, 2, 3, ......


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru