Скачиваний:
9
Добавлен:
09.12.2018
Размер:
25.23 Кб
Скачать

Практическая работа №7

Динамические массивы

Цель работы: Получить практические навыки выделения, перераспределения и освобождения памяти при работе с динамическими массивами

Задания:

  1. Сформировать динамический одномерный массив, заполнить его случайными числами и вывести на печать.

Удалить все элементы с нечетными индексами и вывести полученный массив на печать.

  1. Сформировать динамический двумерный массив, заполнить его случайными числами и вывести на печать.

Добавить k столбцов в начало матрицы и вывести полученный массив на печать.

Листинг для задания 1:

#include <iostream>

#include <cstdlib>

using namespace std;

int main()

{

int n;

cout << "Enter size of array: ";

cin >> n;

int* a = new int[n];

int* new_a = new int[n];

int j = 0;

cout << "Array: " << endl;

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

a[i] = rand() % 100 - 20;

cout << a[i] << "\t";

if (i % 2 == 0)

new_a[j++] = a[i];

}

cout << endl;

delete[] a;

cout << "New array: " << endl;

for (int i = 0; i < j; i++){

cout << new_a[i] << "\t";

}

delete[] new_a;

return 0;

}

Результат выполнения:

Листинг для задания 2:

#include <iostream>

#include <cstdlib>

using namespace std;

const int Size = 100;

int main()

{

int n, k;

cout << "Enter size of array: ";

cin >> n;

int** a = new int*[n];

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

a[i] = new int[Size];

cout << "Array: " << endl;

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

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

a[i][j] = rand() % 40 - 20;

cout << a[i][j] << "\t";

}

cout << endl;

}

cout << "Enter k: ";

cin >> k;

if (k > 0) {

for (int j = n - 1; j >= 0; j--)

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

a[i][j + k] = a[i][j];

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

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

a[i][j] = a[i][j] = rand() % 40 - 20;

}

cout << "New Array: " << endl;

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

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

cout << a[i][j] << "\t";

cout << endl;

}

return 0;

}

Результат выполнения:

Соседние файлы в предмете Методы и средства проектирования информационных систем и технологий