Структура и организация данных ЭВМ

Автор работы: Пользователь скрыл имя, 23 Апреля 2015 в 02:53, контрольная работа

Описание работы

Множество — это структурированный тип данных, представляющий собой набор взаимосвязанных по какому-либо признаку или группе признаков объектов, которые можно рассматривать как единое целое. Каждый объект в множестве называется элементом множества.

Содержание работы

1 Множества. Множества в Pascal …………..…………………………………………….…… 2
2.Граф.Машинное представление графов……………..……………………………………….5
Матрица смежности. Нахождение кратчайшего пути в графе……………………………..6
3. Практическая часть ………………………………………………...………..……………….5
4.Список используемой литературы…...………………………………………………...…..…7

Файлы: 1 файл

Структура и организация данных ЭВМ.docx

— 79.79 Кб (Скачать файл)

 

Код программы

#include <iostream>

using namespace std;

 

const int N = 4; // Число элементов для перестановки

 

void print_array(int N, int* array)

{

// Вывод массива на экран

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

cout << array[i] << " ";

cout << endl;

}

 

void swap(int* array, int i, int j)

{

// Перестановка двух  элементов

int t = array[i];

array[i] = array[j];

array[j] = t;

}

 

void print_permutations(int N, int* array)

{

int* c = new int[N];

bool* pr = new bool[N];

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

{

c[i] = 1;

pr[i] = true;

}

c[N - 1] = 0;

print_array(N, array);

 

int i = 0;

while (i < N-1)

{

i = 0;

int x = 0;

 

while (c[i] == N - i)

{

pr[i] = !pr[i];

c[i] = 1;

if (pr[i])

++x;

++i;

}

 

if (i < N - 1)

{

int k = pr[i] ? c[i] + x : N - i - c[i] + x;

swap(array, k - 1, k);

print_array(N, array);

c[i] ++;

}

 

}

 

delete[] c;

delete[] pr;

}

 

int main()

{

int* array = new int[N];

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

array[i] = i + 1; // 1..N

 

cout << "Transpozicii dly elementov.." << N << ":" << endl;

print_permutations(N, array);

system("pause");

return 0;

}

 

Результат работы: (Рис. 7)

Рис. 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы

 

 

 

 

 

  1. Касаткин А.И., Вальвачев А.Н. От Turbo C к Borland C++. - Мн.: Вышэйшая школа, 1992 – 239с.
  2. Глушаков С. В., Коваль А. В., Смирнов С. В.Г. Язык программирования С++: Учебный курс, OOO «Издательство АСТ» 2001
  3. Материал из Википедии — свободной энциклопедии. Элементы теории граф (http://referats/mat_graph);
  4. Новые педагогические и информационные технологии Е.С.Полат, Москва, « Akademia » 1999 г.
  5. Смольяков Э.Р. Введение в теоpию гpафов. М.: МГТУ, 1992
  6. Лэнгсам Й., Огенстан М., Тененбаум А. Структуры данных для персональных ЭВМ. - М.: Мир, 1989 – 568с.
  7. Касаткин В. Н. Информация. Алгоритмы. ЭВМ. — М.: Просвещение, 1991.
  8. Turbo Pascal: практикум. - СПб.: Питер, 2002. - 256 с.: ил.

 

 

 


Информация о работе Структура и организация данных ЭВМ