Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы №3-7.docx
Скачиваний:
244
Добавлен:
31.05.2015
Размер:
774.99 Кб
Скачать

Контрольные вопросы

  1. Каким образом описывают массивы?

  2. Укажите особенности ввода и вывода одномерных массивов?

  3. В чем состоит особенность использования приемов программирования при обработке одномерных массивов?

  4. Существуют ли ограничения на размерность массива?

  5. Где и как определяется общее число элементов массива?

  6. Когда индекс элемента в массиве совпадает с порядковым номером этого элемента?

  7. Что называется базовым типом?

  8. Верно ли, что элементами массива могут быть данные любого типа, включая структурированные?

  9. Какой массив называется одномерным?

  10. Можно ли с помощью стандартной процедуры write(x) вывести весь массив х целиком?

  1. Лабораторная работа № 7. Обработка многомерных массивов на языке c#

Цель работы: овладение практическими навыками работы с многомерными массивами, особенностями их ввода и вывода и обработке данных в них.

Многомерные массивы

Многомерные массивы имеют более одного измерения. Чаще всего используются двумерные массивы, которые представляют собой таблицы. Каждый элемент массива имеет два индекса, первый определяет номер строки, второй - номер столбца, на пересечении которых находится элемент. Нумерация строк и столбцов начинается с нуля.

Объявить двумерный массив можно одним из способов:

тип [,] имя__массива;

тип [,] имя__массива = new тип [размер1, размер2];

тип [,] имя__массива={{элементы 1-ой строки}, … , {элементы n-ой строки}};

тип [,] имя__массива= new тип [,]{{элементы 1-ой строки}, …,{элементы n-ой строки}};

Например:

int [,] a;

int [,] a= new int [3, 4];

int [,] a={{0, 1, 2}, {3, 4, 5}};

int [,] a= new int [,]{{0, 1, 2}, {3, 4, 5}};

При обращении к свойству Length для двумерного массива получаем общее количество элементов в массиве. Чтобы получить количество строк нужно обратиться к методу GetLength с параметром 0. Чтобы получить количество столбцов - к методу GetLength с параметром 1.

Пример:

class Program

{

static void PrintArray(string a, int[,] mas)

{

Console.WriteLine(a);

for (int i = 0; i < mas.GetLength(0); i++)

{

for (int j = 0; j < mas.GetLength(1); j++)

Console.Write("{0} ", mas[i, j]);

Console.WriteLine();

}

}

static void Change(int[,] mas)

{

for (int i = 0; i < mas.GetLength(0); i++)

for (int j = 0; j < mas.GetLength(1); j++)

if (mas[i, j] % 2 == 0) mas[i, j] = 0;

}

static void Main()

{

try

{

int[,] MyArray ={ { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

PrintArray("исходный массив:", MyArray);

Change(MyArray);

PrintArray("итоговый массив", MyArray);

}

catch (FormatException)

{ Console.WriteLine("неверный формат ввода данных"); }

catch (OverflowException)

{ Console.WriteLine("переполнение"); }

catch (OutOfMemoryException)

{

Console.WriteLine("недостаточно памяти для создания нового объекта");

}

}

}

Вопросы для самоконтроля

  1. Какой массив называется п-мерным?

  2. Как организовать вывод матрицы прямоугольной таблицей?

  3. Укажите особенности ввода и вывода двумерных массивов?

  4. В чем состоит особенность использования приемов программирования при обработке массивов?

  5. Существуют ли ограничения на размерность массива?

  6. Какой массив называется двумерным?

  7. Верно ли, что двумерный массив соответствует понятию прямоугольной таблицы (матрице, набору векторов)?

  8. Предложите способы вывода элементов двумерного массива.