русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Прямоугольные массивы


Дата добавления: 2013-12-23; просмотров: 2417; Нарушение авторских прав


Одномерные массивы

Лекция 7. Массивы

Массив- ограниченная совокупность однотипных данных. Элементы массива имеют одно и то же имя, а различаются порядковым номером – индексом.

В языке С# массив относится к ссылочным типам данных, то есть располагается только в динамической памяти, поэтому создание массива начинается с выделения памяти под его элементы.Всем элементам при создании массива присваиваются значения по умолчанию – нули для значимых типов, и null для ссылочных.

Количество элементов в массиве (размерность) не является частью его типа, это количество задается при выделении памяти и не может быть изменено.

Элементы массива нумеруются с нуля. Для обращения к элементу массива после имени массива указывается номер (индекс) элемента в квадратных скобках.

Массивы одного типа можно присваивать друг другу.

Все массивы в С# имеют общий базовый класс Array, определенный в пространстве имен System.

Одномерные массивы описываются одним из способов:

тип[] имя;

тип[] имя = new тип [размерность];

тип[] имя = {инициализаторы};

тип[] имя = new тип []{инициализаторы};

тип[] имя = new тип [размерность]{инициализаторы};

Примеры описания одномерных массивов:

int [] a; //элементов нет

int [] b=new int [4]; //элементы равны 0

int [] c={1,2,3,4}; //new подразумевается

int [] d=new int[] {1,2,3,4}; //размерность вычисляется

int [] e=new int [4] {1,2,3,4}; //избыточное описание

Для массива а описана ссылка на массив, а память под элементы не выделена (массив не создан).

Массив b будет содержать 4 элемента, которые по умолчанию равны 0.

Для массива с опущен оператор выделения памяти new, который подразумевается по умолчанию.

Для массива d не задана размерность, но он инициализирован, поэтому размерность количество элементов вычисляется.



Для массива е указана и размерность и элементы инициализированы, размерность - константа!

Пример выполнения операций с одномерным массивом

using System;

namespace ConsoleApplication1

{

class Class1

{

static void Main()

{

const int n=6;

int [] a= new int[n] {3,12,5,-9,8,-4};

Console.WriteLine(“Исходный массив: ”);

for (int i=0;i<n;++i)

Console.Write(“\t” +a[i]);

Console.WriteLine();

int s=0,k=0;

for (int i=0;i<n;++i)

if (a[i]<0)

{

s+=a[i];

++k;

}

Console.WriteLine(“Сумма отрицательных ”+s);

Console.WriteLine(“Количество отрицательных ”+k);

}}}

Прямоугольный массив имеет более одного измерения. В чем особенность объявления многомерного (прямоугольного) массива? Как в типе указать размерность массива? Это делается достаточно просто, за счет использования запятых.

Объявление многомерного массива в общем случае:

<тип>[, ... ,] <идентификаторы>;

Число запятых, увеличенное на единицу, и задает размерность массива.

Примеры описания двумерных массивов:

int [,] a; //элементов нет

int [,] b=new int [2,3]; //элементы равны 0

int [,] c={{1,2,3},{4,5,6}}; //new подразумевается

int [,] d=new int[,]{{1,2,3},{4,5,6}}; //размерность вычисляется

int [,] e=new int [2,3] {{1,2,3},{4,5,6}}; //избыточное описание

Если список инициализации не задан, размерности могут быть не только константами, но и выражениями типа, приводимого к целому.

К элементу двумерного массива обращаются, указывая номер строки и столбца, на пересечении которых он расположен:

a[1,4] - элемент второй строки и пятого столбца!

b[i,j] - элемент i-ой строки и j-ого столбца!

Пример выполнения операций с двумерным массивом

using System;

namespace ConsoleApplication1

{

class Class1

{

static void Main()

{

const int m=3,n=3;

int [,] a= new int[m,n]

{

{1,1,1},

{0,0,0},

{3,3,3}

};

int [,] b= new int[m,n]

{

{1,2,3},

{4,5,6},

{7,8,9}

};

int [,] c= new int[m,n];

Console.WriteLine(“Исходный массив a: ”);

for (int i=0;i<m;++i)

{

for (int j=0;j<n;++j)

Console.Write(“\t” +a[i,j]);

Console.WriteLine();

}

 

Console.WriteLine(“Исходный массив b: ”);

for (int i=0;i<m;++i)

{

for (int j=0;j<n;++j)

Console.Write(“\t” +b[i,j]);

Console.WriteLine();

}

for(int i = 0; i < m; ++i) for(int j = 0; j < n; ++j) { int s=0; for(int k = 0; k < n;++k) s+= a[i,k]*b[k,j]; c[i,j] = s; }

Console.WriteLine(“Полученное произведение матриц : ”);

for (int i=0;i<m;++i)

{

for (int j=0;j<n;++j)

Console.Write(“\t” +с[i,j]);

Console.WriteLine();

}

}}}



<== предыдущая лекция | следующая лекция ==>
Пример. | Оператор foreach для работы с массивами


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.