Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
23 слайда
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
207.00 kB
Просмотров:
49
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Массивы в C#
№2 слайд
Содержание слайда: Массивы в C#
В языке C# каждый индекс массива изменяется в диапазоне от 0 до некоторого конечного значения. Массивы в языке C# являются настоящими динамическими массивами. Как следствие этого, массивы относятся к ссылочным типам, память им отводится динамически в "куче". Массивы могут быть одномерными и многомерными.
№3 слайд
Содержание слайда: Объявление одномерного массива
<тип>[] <объявители>;
каждый объявитель может быть именем или именем с инициализацией.
Объявление массива:
с инициализацией
с отложенной инициализацией
№4 слайд
Содержание слайда: Объявление одномерного массива
Объявление массива с инициализацией:
Явная инициализация константным массивом
Создание массива с помощью операции new
Пример явной инициализации:
double[] x = {5.5, 6.6, 7.7};
в динамической памяти создаётся константный массив с заданными значениями, с которым и связывается ссылка.
Пример сознания с помощью операции new:
int[] d = new int[5];
массив создаётся в динамической памяти, его элементы получают начальные нулевые значения, и ссылка связывается с этим массивом.
№5 слайд
Содержание слайда: Объявление одномерного массива
Объявление с отложенной инициализацией выполняется в 2 этапа:
Объявление массива
Инициализация массива
№6 слайд
Содержание слайда: Объявление одномерного массива
Объявление массива
Пример:
int[ ] a;
При объявлении с отложенной инициализацией сам массив не формируется, а создаётся только ссылка на массив, имеющая неопределённое значение Null. Поэтому пока массив не будет реально создан и его элементы инициализированы, использовать его в вычислениях нельзя!!!
№7 слайд
Содержание слайда: Объявление одномерного массива
Инициализация массива:
Пример:
a = new int[10];
Выражение, задающее границу изменения индексов, в динамическом случае может содержать переменные. Единственное требование – значения переменных должны быть определены в момент объявления!
Пример:
n=Convert.ToInt32(Textbox1.Text);
a = new int[n];
№8 слайд
Содержание слайда: Ввод одномерного массива
№9 слайд
Содержание слайда: Ввод одномерного массива
№10 слайд
Содержание слайда: Ввод одномерного массива
private void button1_Click(object sender, EventArgs e)
{
a[i] = Convert.ToInt32(textBox1.Text);
i++;
if (i < 10)
{ label1.Text = "Элемент " + Convert.ToString(i + 1);
textBox1.Focus();
}
else
{ button1.Enabled = false;
label1.Text = "Конец";
}
textBox1.Text = "";
}
№11 слайд
Содержание слайда: Вывод одномерного массива
№12 слайд
Содержание слайда: Вывод одномерного массива
Первый вариант:
private void button2_Click(object sender, EventArgs e)
{ listBox1.Items.Clear();
for(int k=0; k<10; k++)
listBox1.Items.Add(Convert.ToString(a[k]));
}
№13 слайд
Содержание слайда: Вывод одномерного массива
Новый оператор цикла:
foreach(тип идентификатор in массив) оператор
Цикл работает в полном соответствии со своим названием – тело цикла выполняется для каждого элемента в контейнере. Тип идентификатора должен быть согласован с типом элементов, хранящихся в массиве данных. На каждом шаге цикла идентификатор, задающий текущий элемент массива, получает значение очередного элемента в соответствии с порядком, установленным на элементах массива. С этим текущим элементом и выполняется тело цикла - выполняется столько раз, сколько элементов находится в массиве. Цикл заканчивается, когда полностью перебраны все элементы массива.
№14 слайд
Содержание слайда: Вывод одномерного массива
Второй вариант:
private void button2_Click(object sender, EventArgs e)
{ listBox1.Items.Clear();
foreach (int item in a)
listBox1.Items.Add(Convert.ToString(item));
}
№15 слайд
Содержание слайда: Многомерные массивы
Объявление многомерных массивов
<тип>[, ... ,] <объявители>;
Число запятых, увеличенное на единицу, задаёт размерность массива. Всё, что сказано для одномерных массивов, справедливо и для многомерных.
Пример явной инициализации двумерного массива:
int[,] matrix = {{1,2},{3,4}};
№16 слайд
Содержание слайда: Многомерные массивы
Визуальный компонент для ввода/вывода двумерного массива: DateGridView из вкладки Data
№17 слайд
Содержание слайда: Многомерный массив
Пример ввода двумерного массива:
№18 слайд
Содержание слайда: Многомерный массив
namespace Двумерный_массив
{ public partial class Form1 : Form
{ static int n=5,m=3;
int[,] matr=new int[n, m];
public Form1()
{
InitializeComponent();
dataGridView1.ColumnCount = m;
dataGridView1.RowCount = n;
for(int k=0;k<3;k++)
dataGridView1.Columns[k].HeaderText = Convert.ToString(k+1);
}
№19 слайд
Содержание слайда: Многомерный массив
private void button1_Click(object sender, EventArgs e)
{ for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
matr[i,j]=Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value);
}
№20 слайд
Содержание слайда: Многомерный массив
private void button2_Click(object sender, EventArgs e)
{
int sum = 0;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
sum = sum + matr[i, j];
MessageBox.Show(Convert.ToString(sum));
}
№21 слайд
Содержание слайда: Класс Array
Все классы, являющиеся массивами, имеют много общего, поскольку все они являются потомками класса System.Array из библиотеки FCL .
Класс Array имеет довольно большое число собственных методов и свойств.
№22 слайд
Содержание слайда: Класс Array
Методы класса Array:
Copy – позволяет копировать весь массив или его часть в другой массив.
IndexOf, LastIndexOf – определяют индексы первого и последнего вхождения образца в массив, возвращая значение -1, если такового вхождения не обнаружено.
Reverse – выполняет обращение массива, переставляя элементы в обратном порядке.
Sort – осуществляет сортировку массива.
BinarySearch – определяет индекс первого вхождения образца в отсортированный массив, используя алгоритм двоичного поиска.
Clear – обнуление элементов массива в заданном диапазоне
№23 слайд
Содержание слайда: Класс Array
Примеры использования методов:
Array.Copy(a, b, 4);
int k= Array.IndexOf(a,100);
Array.Reverse(a);
Array.Sort(a);
int k = Array.BinarySearch(a, 100);
Array.Clear(a, 3, 4);