Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ПИ_ИКТ Программирование по С++ (1 семестр) _Хотов.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.83 Mб
Скачать

Примеры программ

Пример 1. Найти сумму элементов в динамическом массиве. Размерность массива ввести с клавиатуры. Использовать различные варианты при обращении к массиву.

#include <iostream>

using namespace std;

void main()

{

setlocale(LC_ALL, "Russian");

//введем размерность массива

int N;

cout << "Введите размерность массива: ";

cin >> N;

//создаем массив динамически

int *a = new int[N];

//введем элементы массива с клавиатуры

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

{

cout << "Введите " << i <<"-й элемент массива: ";

cin >> a[i];

}

//объявим переменную для хранения суммы элементов

int s = 0;

//просуммируем элементы массива

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

s += *(a + i);

//выведем на экран элементы массива и их сумму

cout << "a:";

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

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

cout << endl << "Сумма элементов: " << s << endl;

//очищаем выделенную памать

delete[] a;

}

Пример 2. //Удалить из матрицы строку с номером K

#include <iostream>

using namespace std;

void main()

{

setlocale(LC_ALL, "russian");

int n, m;//размерность матрицы

int i, j;

cout << "\nEnter n";

cin >> n;//строки

cout << "\nEnter m";

cin >> m;//столбцы

//выделение памяти

int **matr = new int*[n];// массив указателей на строки

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

matr[i] = new int[m];//память под элементы матрицы

//заполнение матрицы

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

for (j = 0; j<m; j++)

matr[i][j] = rand() % 10;//заполнение матрицы

//печать сформированной матрицы

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

{

for (j = 0; j<m; j++)

cout << matr[i][j] << " ";

cout << "\n";

}

//удаление строки с номером к

int k;

cout << "\nEnter k";

cin >> k;

for (i = k - 1; i < n - 1; i++)

for (j = 0; j < m; j++)

matr[i][j] = matr[i + 1][j];

delete matr[--n];

//печать новой матрицы

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

{

for (j = 0; j<m; j++)

cout << matr[i][j] << " ";

cout << "\n";

}

//удаление старой матрицы

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

delete matr[i];

delete[]matr;

system("pause");

}

Лабораторная работа № 7. Указатели и ссылки. Имя массива как указатель. Динамические массивы Цель и порядок работы

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

Порядок выполнения работы:

  • ознакомиться с описанием лабораторной работы;

  • получить задание у преподавателя, согласно своему варианту;

  • написать программу и отладить ее на ЭВМ;

  • оформить отчет.

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

  1. Что такое указатель?

  2. Как определить указатель?

  3. Как проинициализировать указатель?

  4. Какие способы инициализации указателей вы знаете?

  5. Как обратиться к переменной, адресуемой указателем?

  6. Как получить адрес объекта?

  7. Какие операции можно выполнять над указателями?

  8. Что такое ссылка?

  9. Как объявить ссылку?

  10. Как создать переменную в динамической памяти?

  11. Как удалить переменную из динамической памяти?

  12. На что следует обращать особое внимание при работе с динамической памятью?

  13. Какие способы обращения к элементам массива вы знаете?

  14. Что такое динамический массив и для чего они применяются?

  15. Как создать динамический массив?