Самостоятельная работа по теме Массивы

  • doc
  • 30.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 30. Самостоятельная работа по теме Массивы.doc

Самостоятельная работа №9

Тема: Массивы

Цель: Закрепление навыков применения массивов

Время выполнения: 6 часов

Теоретический материал

Тип массив – структура данных, представляющая собой набор переменных одинакового типа, имеющих общее имя.

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

Индексы массива принадлежат целочисленному типу. Массивы позволят легко обрабатывать большое количество связанных переменных.

Массив может быть:

-      одномерным   A1 [  ]

-      двумерным   A2 [ , ]    

Формат объявления одномерного массива в C#:

тип[ ] ИмяМассива = new тип [размер];

Формат объявления двумерного массива в C#:

тип [ , ] ИмяМассива = new тип [количество строк, количество столбцов];

· тип – type  – имя типа значений элементов.

· [ ] – признак массива. Запятые внутри скобок задают размерность массива. Запятых нет – массив одномерный, запятая одна – массив двумерный, запятых больше – массив многомерный.

· new – оператор, предназначенный для создания объекта любого классового типа, позволяет динамически размещать в памяти элементы массива.

· размер – количество элементов, которые будут храниться в массиве.

Элементы массива могут быть любых типов.

Доступ к элементу массива осуществляется посредством индекса (позицию элемента внутри массива): ИмяМассива [ НомерЭлемента ].

Индексация массивов начинается с нуля: массив с элементами n индексируется от 0 до n-1. При обращении к элементу массива, надо указать его имя и номер элемента в квадратных скобках.

Например: A[0] – первый элемент массива A.

                    A[4] – пятый элемент массива А.

B[2,3] – элемент, лежащий на пересечении 3 строки и 4 столбца массива B.

Примеры объявления массивов:

static void Main(string[] args)

    {

int[ ] А = new int[5];  // одномерный массив А из 5 целых чисел

char[ ] H = new char[10];// одномерный массив H из 10 символов

double[,] M = new double [2, 3]; // двумерный массив 2х3 вещественных  чисел, содержащий 2 строки и 3 столбца

    }

При объявлении массива можно выполнить его инициализацию, т.е. присвоить начальные значения элементам массива в момент его создания.

Примеры объявления массивов с инициализацией:

int[  ] С = new int[ ] { 1, 3, 5, -7, 9 };  // массив С инициализирован пятью элементами

double[ ] D = { 1.5, 2.1, 3.65, 4.7, 5.14, 6.36 };   // Альтернативный синтаксис

char[ ] Q = {'a','b','g'};       //массив Q инициализирован тремя символами

string[ ] Team = {"Zenith", "Dynamo", "Sparta", "Rotor", "CSK"};

int[ , ] M= { { 1, 2, 3 }, { 4, 5, 6 } };    // массив M: 2 строки и 3 столбца инициализирован

int[ ,] L ={{0,2,4,6},{2,9,6,3},{4,7,5,8}, {1,6,5,7}}; //массив L (4х4) инициализирован

При инициализации допустимо указывать размер массива, но количество элементов списка инициализации должно соответствовать размерности массива. Иначе компилятор выведет сообщение об ошибке. Например: Int [ ] nemsnew int [ 10 ] { 99, 10, 100, 15, 76, 23, 85, 9 , 87, 49};

Под сортировкой массива подразумевается процесс перестановки элементов массива, с целью размещения элементов массива в определенном порядке.

Например, для целых чисел А после сортировки по возрастанию должно выполняться условие:

A[1] £ A[2] £ A[3] £ . . . £ A[size],       где size – верхний индекс

Алгоритм сортировки:

1. Просмотреть массив от 1 элемента, найти min элемент и поместить его на место 1 элемента, а 1-й на место min.

2. Просмотреть массив от 2 элемента, найти min элемент и поместить его на место 2 элемента, а 2-й на место min

3. И так далее до последнего элемента.

Элементы массива А

A[ 1 ]= 2

A[ 2 ]= 6

A[ 3 ]= -5

A[ 4 ]= 3

A[ 5 ]= 20

A[ 6 ]= -10

A[ 7 ]= 8

A[ 8 ]= 0

A[ 9 ]= 9

A[ 10 ]= -2

Сортировка массива

-10  6  -5  3  20  2  8  0  9  -2

-10  -5  6  3  20  2  8  0  9  -2

-10  -5  -2  3  20  2  8  0  9  6

-10  -5  -2  0  20  2  8  3  9  6

-10  -5  -2  0  2  20  8  3  9  6

-10  -5  -2  0  2  3  8  20  9  6

-10  -5  -2  0  2  3  6  20  9  8

-10  -5  -2  0  2  3  6  8  9  20

-10  -5  -2  0  2  3  6  8  9  20

Отсортированный массив

-10   -5   -2   0   2   3   6   8   9   20

Реализовать сортировку можно посредством метода «Пузырька», который записывается следующим образом:

for (int i=0; i<n-1; i++)    //количество всплывших элементов

for (int j=0; j<n-1-i; j++) // количество сортируемых элементов

if (m[i+1]<m[i])   //если последующий элемент больше предыдущего

{ а=m[i+1];         //запоминаем последующий элемент в переменную а

m[i+1]= m[i];     //последующий становится предыдущим

m[i]=а;               // предыдущий становится последующим

}

Задания

В соответствии со своим вариантом: создать консольное приложение, реализующее решение задачи. 

Вариант №1

1.        Дан массив случайных чисел X(10, 5). Заменить в нём все положительные на отрицательные и наоборот.

2.        Записать в массив В(n, m) по главной диагонали единицы.

3.        Если в матрице G(5; 5) всегда начиная с первого элемента, очерчивать квадратами сначала 1 элемент, затем 4, 9, 16 и, наконец, все 25, то получаться вложенные квадратные матрицы. Вычислить их соответствующие произведения и записать элементами матрицы Y(5; 1).

4

2

5

0

3

7

1

6

4

7

0

5

8

3

8

2

6

0

1

9

5

4

7

0

3

Вариант №2

1.      Найти максимальный элемент в массиве B(2, 5), состоящем из вещественных элементов. Массив заполнять случайным образом.

2.      Заполнить массив С(k, m) под главной диагональю нулями.

3.      Произвести упорядочивание элементов каждого столбца матрицы по убыванию любым методом.

Вариант №3

1.      Подсчитать количество единичных элементов в целочисленном массиве C(n, m). Массив заполнять вручную.

2.      Вывести в массиве D(10, 10) над главной диагональю положительные числа, а под - отрицательные.

3.      Отсортировать матрицу по возрастанию методом “пузырька”.

Вариант №4

1.      Определить количество отрицательных элементов в массиве D(m, n). Массив заполнять случайным образом.

2.      Записать в массив E(5, 6) в чётные столбики нули, в нечётные – произвольные числа.

3.      Произвести сортировку двумерного массива по убыванию методом перебора.

Вариант №5

1.      C клавиатуры вводится массив чисел E(5, 5). Подсчитать количество чётных элементов.

2.      Заполнить массив F(n, m) числами так, чтобы в первом столбике были единицы, во втором – двойки и т.д.

3.      Произвести упорядочивание элементов каждой строки матрицы по возрастанию любым методом.

Вариант №6

1.        Дан массив случайных чисел F(n, k). Найти количество кратных трём.

2.        Записать в массив W(10, 7) в чётные столбики положительные числа, в нечётные – отрицательные.

3.        В матрице вычислить сумму элементов по каждому столбцу.

Вариант №7

1.        Найти минимальный элемент в массиве G(2, 4), состоящем из целочисленных элементов. Массив заполнять с клавиатуры.

2.        В матрице Z(n, m) подсчитать количество единиц, двоек и нулей. О каждом количестве вывести соответствующее сообщение.

3.        Подсчитать сумму положительных элементов в матрице по каждой строке.

Вариант №8

1.        Подсчитать количество нулевых элементов в вещественном массиве H(k, l). Массив заполнять случайным образом.

2.        Записать в символьный массив Y(5, 5) по главной диагонали символ “$”.

3.        В каждом столбце матрицы подсчитать количество отрицательных элементов.

Вариант №9

1.        Определить количество положительных элементов в массиве P(6, 2). Массив заполнять с клавиатуры. Осуществить вывод матрицы.

2.        Создать матрицу T(n, m), в которой каждый элемент равен сумме его индексов.

3.        Дан массив X(n, m). Записать в матрицу W(n*m, 2) сначала индексы положительных элементов массива X, а затем отрицательных.

Вариант №10

1.        В массиве случайных чисел S(n, m) подсчитать количество нечётных элементов.

2.        Дана матрица Q(10, 10). На месте элементов, сумма индексов которых кратна трём, записать “-1”, на месте остальных – “1”.

3.        Подсчитать количество кратных трём элементов в каждой строке двумерного массива.

 


Посмотрите также