Файл: Операции, производимые с данными.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 05.04.2023

Просмотров: 66

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Листинг 11. Метод расчета суммы элементов с указанным диапазоном

t obr(t left, t right) {

shared_ptr<node> ptr = head;

t sum = 0;

while (ptr != nullptr) {

if (ptr->item >= left && ptr->item <= right) {

sum += ptr->item;

}

ptr = ptr->next;

}

return sum;

}

Таким образом были рассмотрены основные операции с данными как в виде блок-схем, так и на примере кода.

Листинг включающий в себя программу целиком вы можете найти в Приложении А.

ЗАКЛЮЧЕНИЕ

В результате выполнения курсовой работы были рассмотрены как наиболее возможные операции над данными, так и основные которые в итоге раскрывают выбранную тему. Все из рассмотренных операций были в той или иной мере подкреплены языком программирования C++ для того чтобы лучше понять смысл приведенных операций. Список всех операций, который был здесь представлен не является всеобъемлющем и может в зависимости от задачи быть дополнен какой-либо сторонней операцией.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Язык программирования С++ Бьерн Страуструп Издательство: «Бином» 2012 г.
  2. Роберт Седжвик: Фундаментальные алгоритмы C++. Издательство «Диасофт» Год издания: 2001 г.
  3. Информатика: Учебник для вузов/ А.С. Грошев – Архангельск, Арханг.гос.техн.ун-т 2010.-470с https://narfu.ru/university/library/books/0690.pdf
  4. Технология программирования/ Г.С. Иванова - Москва Издательство МГТУ имени Н.Э. Баумана 2002 г.
  5. Информатика. Базовый курс/ С.В. Симонович. Год издания: 2013. Издательство: Питер.
  6. Технология программирования на C++. Начальный курс

Автор: Н. А. Литвиненко. Год издания 2005г.

  1. HTML и CSS. Разработка и дизайн веб-сайтов. Автор: Джон Даккет. Год выпуска: 2017. Издательство: Эксмо.

Приложение А.

Листинг кода на языке С++ реализующий связный список

template<typename t>

class spisok {

private:

class node {

public:

t item;

shared_ptr<node> next;

node(t it) :item(it) {}


friend spisok;

};

shared_ptr<node> head;

public:

spisok() {

head = nullptr;

}

spisok(t item) {

head = make_shared<node>(node(item));

}

void push(t item) {

shared_ptr<node> ptr(new node(item));

if (head == nullptr) {

head = move(ptr);

return;

}

else {

ptr->next = head;

head = ptr;

}

}

void pop(t item) {

shared_ptr<node> ptr = head;

if (ptr->item == item) {

head = head->next;

return;

}

while (ptr->next != nullptr) {

if (ptr->next->item == item) {

ptr->next = ptr->next->next;

return;

}

ptr = ptr->next;

}

}

shared_ptr<node> find(t item) {

shared_ptr<node> ptr = head;

while (ptr != nullptr) {

if (ptr->item == item) return ptr;

ptr = ptr->next;

}

return nullptr;

}

t obr(t left, t right) {

shared_ptr<node> ptr = head;

t sum = 0;

while (ptr != nullptr) {

if (ptr->item >= left && ptr->item <= right) {

sum += ptr->item;

}

ptr = ptr->next;

}

return sum;

}

void clear() {

while (head != nullptr) {

head = head->next;

}

}

void print()const {

shared_ptr<node> root = head;

while (root != nullptr) {