🗊Презентация Массивы

Нажмите для полного просмотра!
Массивы, слайд №1Массивы, слайд №2Массивы, слайд №3Массивы, слайд №4Массивы, слайд №5Массивы, слайд №6Массивы, слайд №7Массивы, слайд №8Массивы, слайд №9Массивы, слайд №10Массивы, слайд №11Массивы, слайд №12Массивы, слайд №13

Вы можете ознакомиться и скачать презентацию на тему Массивы. Доклад-сообщение содержит 13 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Тема 4 
Массивы
Описание слайда:
Тема 4 Массивы

Слайд 2





Массивы
При использовании простых переменных каждой области памяти для хранения данных соответствует свое имя. Если с группой величин одинакового типа требуется выполнять однообразные действия, им дают одно имя, а различают по порядковому номеру (индексу). 
Конечная именованная последовательность однотипных величин, доступ к каждой из которых осуществляется с помощью индексации, называется массивом. 
Массивы делятся на:
статические;
динамические.
Описание слайда:
Массивы При использовании простых переменных каждой области памяти для хранения данных соответствует свое имя. Если с группой величин одинакового типа требуется выполнять однообразные действия, им дают одно имя, а различают по порядковому номеру (индексу). Конечная именованная последовательность однотипных величин, доступ к каждой из которых осуществляется с помощью индексации, называется массивом. Массивы делятся на: статические; динамические.

Слайд 3





Статические массивы
Количество элементов в статическом массиве известно при написании программы и никогда не меняется. Память под такой массив выделяет компилятор.
Описание статического массива:
тип имя [количество_элементов] [инициализатор]
Доступ к элементу массива:
имя_массива [индекс]
Индексация массивов начинается с нуля.
Выход индекса за пределы массива никак не контролируется, последствия такого выхода непредсказуемы!
Описание слайда:
Статические массивы Количество элементов в статическом массиве известно при написании программы и никогда не меняется. Память под такой массив выделяет компилятор. Описание статического массива: тип имя [количество_элементов] [инициализатор] Доступ к элементу массива: имя_массива [индекс] Индексация массивов начинается с нуля. Выход индекса за пределы массива никак не контролируется, последствия такого выхода непредсказуемы!

Слайд 4





Пример работы со статическим массивом
// подсчёт суммы элементов массива
//
#include <iostream>
using namespace std;
int main(){
 setlocale (LC_ALL, ”.1251”);
 const int n = 10;
 int sum = 0; 
 int marks[n] = {3, 4, 5, 4, 4}; 
     // инициализация первых пяти элементов массива
     // оставшиеся элементы инициализируются нулём
 for (int i = 0; i<n; i++)
  sum += marks[i];
 cout << "Сумма элементов: " << sum << endl;
 return 0;
}
Описание слайда:
Пример работы со статическим массивом // подсчёт суммы элементов массива // #include <iostream> using namespace std; int main(){ setlocale (LC_ALL, ”.1251”); const int n = 10; int sum = 0; int marks[n] = {3, 4, 5, 4, 4}; // инициализация первых пяти элементов массива // оставшиеся элементы инициализируются нулём for (int i = 0; i<n; i++) sum += marks[i]; cout << "Сумма элементов: " << sum << endl; return 0; }

Слайд 5





Организация массивов с использованием указателей
int Mas [10];
Реализация этого описания выполнена так: Mas представляет собой константный указатель, содержащий адрес первого из элементов массива. Память под элементы выделена подряд:
*Mas – обращение к начальному элементу ( с индексом 0)
*(Mas+1) – обращение к элементу с индексом 1
*(Mas+i) – обращение к элементу с индексом i
Таким образом, запись Mas[i] – синоним записи *(Mas+i)
Описание слайда:
Организация массивов с использованием указателей int Mas [10]; Реализация этого описания выполнена так: Mas представляет собой константный указатель, содержащий адрес первого из элементов массива. Память под элементы выделена подряд: *Mas – обращение к начальному элементу ( с индексом 0) *(Mas+1) – обращение к элементу с индексом 1 *(Mas+i) – обращение к элементу с индексом i Таким образом, запись Mas[i] – синоним записи *(Mas+i)

Слайд 6





Динамические массивы
Количество элементов динамического массива на этапе компиляции не известно и, как правило, зависит от входных данных. Память под динамический массив выделяется во время выполнения программы с помощью операций выделения памяти:
int N;
cout << ”Введите количество элементов массива: ”;
cin >> N;
double *p; // писать double p[N] нельзя!
p = new double [N];
cout << ”Введите элементы массива:\n”;
for (int i=0; i<N; i++)
  cin >> p[i];
…
delete [] p; 
// квадратные скобки означают освобождение памяти 
// для всех элементов массива
Описание слайда:
Динамические массивы Количество элементов динамического массива на этапе компиляции не известно и, как правило, зависит от входных данных. Память под динамический массив выделяется во время выполнения программы с помощью операций выделения памяти: int N; cout << ”Введите количество элементов массива: ”; cin >> N; double *p; // писать double p[N] нельзя! p = new double [N]; cout << ”Введите элементы массива:\n”; for (int i=0; i<N; i++) cin >> p[i]; … delete [] p; // квадратные скобки означают освобождение памяти // для всех элементов массива

Слайд 7





Динамические массивы (продолжение)
Элементы динамических массивов не инициализированы, в отличие от статических. Однако можно выполнить инициализацию нулями с помощью конструкции
p = new double [N] ();
Описание слайда:
Динамические массивы (продолжение) Элементы динамических массивов не инициализированы, в отличие от статических. Однако можно выполнить инициализацию нулями с помощью конструкции p = new double [N] ();

Слайд 8





Многомерные массивы
Многомерные массивы фиксированного размера задаются указанием каждого измерения в квадратных скобках, например, оператор
int matr [6][8];
задает описание двумерного массива из 6 строк и 8 столбцов. В памяти такой массив располагается в последовательных ячейках построчно. Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс.
Описание слайда:
Многомерные массивы Многомерные массивы фиксированного размера задаются указанием каждого измерения в квадратных скобках, например, оператор int matr [6][8]; задает описание двумерного массива из 6 строк и 8 столбцов. В памяти такой массив располагается в последовательных ячейках построчно. Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс.

Слайд 9





Многомерные массивы (продолжение)
Для доступа к элементу многомерного массива указываются все его индексы, например, matr[i][j]. 
Инициализация многомерного массива может быть выполнена одним из следующих способов:
int mass2 [3][2] = { {1, 1}, {0, 2}, {1, 0} }; 
int mass2 [3][2] = {1, 1, 0, 2, 1, 0};
Описание слайда:
Многомерные массивы (продолжение) Для доступа к элементу многомерного массива указываются все его индексы, например, matr[i][j]. Инициализация многомерного массива может быть выполнена одним из следующих способов: int mass2 [3][2] = { {1, 1}, {0, 2}, {1, 0} }; int mass2 [3][2] = {1, 1, 0, 2, 1, 0};

Слайд 10





Пример работы с двумерным массивом
// подсчёт суммы элементов каждой строки двумерного
// массива
#include <iostream>
using namespace std;
int main(){
	setlocale(LC_ALL, ".1251");
	int sum;
	int matr[3][3] = {{5, 3, 2}, {2, -4, 5}, {10, 2, 8}};
	for (int i=0; i<3; i++) {
		sum = 0;
		for (int j=0; j<3; j++)
			sum+=matr[i][j];
		cout << "Сумма элементов в " << i << 
				"-й строке равна " << sum << "\n";
	}
	return 0;
}
Описание слайда:
Пример работы с двумерным массивом // подсчёт суммы элементов каждой строки двумерного // массива #include <iostream> using namespace std; int main(){ setlocale(LC_ALL, ".1251"); int sum; int matr[3][3] = {{5, 3, 2}, {2, -4, 5}, {10, 2, 8}}; for (int i=0; i<3; i++) { sum = 0; for (int j=0; j<3; j++) sum+=matr[i][j]; cout << "Сумма элементов в " << i << "-й строке равна " << sum << "\n"; } return 0; }

Слайд 11





Организация двумерных массивов с использованием указателей
int Matr [3][4];
Реализация этого описания выполнена с использованием указателей на указатели:
Описание слайда:
Организация двумерных массивов с использованием указателей int Matr [3][4]; Реализация этого описания выполнена с использованием указателей на указатели:

Слайд 12





Двумерные динамические массивы 
Выделение памяти для двумерных динамических массивов выполняется в соответствии с принципами организации двумерных массивов.
Выделение памяти:
// пусть n – количество строк, k – столбцов
int **p;
p=new int*[n];
for (int i=0; i<n; i++) 
  p[i] = new int[k];
Освобождение памяти выполняется в обратном порядке:

for (int i=0; i<n; i++) 
  delete [] p[i];
delete [] p;
Описание слайда:
Двумерные динамические массивы Выделение памяти для двумерных динамических массивов выполняется в соответствии с принципами организации двумерных массивов. Выделение памяти: // пусть n – количество строк, k – столбцов int **p; p=new int*[n]; for (int i=0; i<n; i++) p[i] = new int[k]; Освобождение памяти выполняется в обратном порядке: for (int i=0; i<n; i++) delete [] p[i]; delete [] p;

Слайд 13





Треугольные динамические матрицы
Выделение памяти под верхний треугольник квадратной матрицы NxN:

int **p;
p=new int*[n];
for (int i=0; i<n; i++) 
  p[i] = new int[n-i];
Выделение памяти под нижний треугольник такой же матрицы:

int **p;
p=new int*[n];
for (int i=0; i<n; i++) 
  p[i] = new int[i+1];
Описание слайда:
Треугольные динамические матрицы Выделение памяти под верхний треугольник квадратной матрицы NxN: int **p; p=new int*[n]; for (int i=0; i<n; i++) p[i] = new int[n-i]; Выделение памяти под нижний треугольник такой же матрицы: int **p; p=new int*[n]; for (int i=0; i<n; i++) p[i] = new int[i+1];



Теги Массивы
Похожие презентации
Mypresentation.ru
Загрузить презентацию