Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » С#, ступенчатый массив больших размеров

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Vladimirll

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
  Подскажите    пожалуйста ,  есть  ли  в  языке   С#  возможность   описания  ступенчатого   массива   больших   размеров   :  количество   строк  1000 ; первая  строка
длиной  100  элементов, каждая  последующая  увеличивается   на  100  элементов  т.е.
100,200,300,400,500,………..,100000 элементов  последняя  строка .  Инициализация  элементов   будет   проводиться  числами  1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,……..,50050000  т.е.   порядковыми числами .
 
 
P.S.   Вопрос  связан   с   тем   ,   что  ручной  ввод  при  таком  количестве  элементов
не   получится, нужно  как-то   программно  все   описать.

Всего записей: 66 | Зарегистр. 07-07-2015 | Отправлено: 20:16 08-11-2015
127



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
в чем проблема сразу объявить массив 1000х100000 и его заполнить (во вложенных циклах)? 100 млн 32хбитных целых — это 400 мб памяти, в принципе по современным меркам не очень много...  
ступенчатых массивов как таковых нет ни в одном языке. да даже если бы и были — экономия в данном случае не превысит половины объема требующейся памяти.  
но если задача стоит именно как ступеньки сделать — используй вложенные векторы и списки.

Всего записей: 599 | Зарегистр. 08-11-2015 | Отправлено: 20:48 08-11-2015
XPEHOMETP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Треугольные массивы были, в частности в Фортране, во времена ЕС ЭВМ... Ступенчатые, действительно, сейчас лучше делать как подмножество прямоугольного массива.

Всего записей: 2485 | Зарегистр. 21-06-2005 | Отправлено: 21:08 08-11-2015
Benchmark



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladimirll
А в чем сложность ? Получается что-то вроде:

Цитата:
 class Program
    {
        const int bigArraySize = 1000; // кол-во строк в ступенчатом массиве
        const int rowSizeStep = 100; // шаг увеличения размера каждой последующей строки
         
 
        static void Main(string[] args)
        {
            int currentFillValue = 1; // начальное значение для инициализации элементов            
 
            int[][] bigArray = new int[bigArraySize][];
            for (int row = 0, rowSize = rowSizeStep; row < bigArraySize; row++, rowSize += rowSizeStep)
            {
                bigArray[row] = new int[rowSize];
 
                for (int j = 0; j < rowSize; j++)
                {
                    bigArray[row][j] = currentFillValue++;
                }
 
            }
        }
    }


Всего записей: 6833 | Зарегистр. 01-10-2002 | Отправлено: 21:35 08-11-2015
Rudia



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В C# сие называется jagged array.

Всего записей: 324 | Зарегистр. 13-09-2006 | Отправлено: 10:37 10-11-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » С#, ступенчатый массив больших размеров


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru