Сортировка статических структур данных

Разработка программы сортировки статических структур данных по возрастанию методом выборок максимума и минимума. Сортировка элементов строк двумерного массива целых чисел. Сортировка квадратной матрицы. Вывод уведомления о неправильности ввода данных.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 30.05.2016
Размер файла 1,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru//

Размещено на http://www.allbest.ru//

Введение

Данная работа предназначена для закрепления учебного материала, изученного по курсу Программирование на языках высокого уровня. В данной программе реализована построчная сортировка двумерного массива по возрастанию методом вставки.

Цель курсовой работы - изучение методов сортировки структур данных; совершенствование навыков процедурного программирования на языке C/С++ при решении задач обработки статических и динамических массивов. Приобретение знаний по оформлению документации на программные средства.

1. Постановка задачи

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

2. Спецификация

Обозначение

Наименование

Примечания

44.В4441.15-01

Документация

Программа “Сортировка статических структур данных”

Спецификация

44.В4441.15-12

Документация

Программа “Сортировка статических структур данных”

Текст программы

44.В4441.15-13

Документация

Программа “Сортировка статических структур данных”

Описание программы

44.В4441.15-31

Документация

Программа “Сортировка статических структур данных”

Описание применения

Аннотация

В документе приводится текст программы “Сортировка статических структур данных”, а также результат отладки и тестирования.

3. Текст программы

3.1 Текст программы

//Методы сортировки

//Массивы динамические двумерные

//Сортировка элементов всех строк двумерного массива целых чисел

//по убыванию

#include "iostream"

#include "locale.h"

#include <cmath>

using namespace std;

typedef bool boolVal ; //определение типа элементов массива

typedef boolVal *bStr ; //определение типа "указатель на telem"

typedef bStr *bMatr;

//определение типа "указатель на указатель на telem"

typedef int telem ; //определение типа элементов массива

typedef telem *tStr ; //определение типа "указатель на telem"

typedef tStr *tMatr;

//определение типа "указатель на указатель на telem"

int Color();

void inputValMatr(bMatr a, int str, int sto);

void inputMatr(tMatr a, int str, int sto) ;

void handInput(tMatr a, int str, int sto) ;

void outputMatr(tMatr a, int str, int sto) ;

void sortVstavka(tMatr a, bMatr b, int str, int sto) ;

void zanulenieElementov(tMatr a, bMatr b, int str, int sto);

void outputBoolMatr(bMatr a, int str, int sto);

int main()

{

while(true)

{

int i, j ;

int n = 0; //число строк матрицы

int m = 0; //число столбцов матрицы

bool y;

tMatr a; //объявляется переменная-указатель на указатель на telem

bMatr b;

setlocale(LC_ALL,"Russian") ;

cout << "\nСорт матрицы целых чисел!: \nВведите 2 числа > 3 (Пример: 10 11):\n" ;

while(n < 3 && m < 3)

{

cin.sync();

try

{

char n1[3], m1[3];

cin >> n1 >> m1;

n = (int)atof(n1);

m = (int)atof(m1);

}

catch(...)

{

}

cout << "Неверный ввод, нужно число строк< 20"<< endl;

}

a = new tStr [n] ;

//выделение динамической памяти под массива

//указателей на строки массива

for(i = 0; i < n; i++) //цикл выделения памяти под каждую строку

*(a + i) = new telem [m] ;//каждому элементу массива указателей

//на строки присваивается адрес начала

//области памяти, выделяемой под строку

b = new bStr [n] ;

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

*(b + i) = new boolVal [m] ;

cout << "Введите 0 - матрица заполнится сама, введите 1 и вводите числа через enter.\n";

cin >> y;

if(!y)

{

inputMatr(a, n, m) ;

}

else

{

handInput(a, n, m);

}

inputValMatr(b, n, m);

if(n <= 20)

{

cout << "Исходная матрица:\n" ;

outputMatr(a, n, m) ;

sortVstavka(a, b, n, m);

cout << "Матрица с отсортированными строками:\n" << endl ;

zanulenieElementov(a, b, n, m);

outputMatr(a, n, m) ;

}

else

{

cout << "\n\nВаша матрица НЕ ВЛЕЗЕТ в Вашу консоль по ширине" << endl;

return;

}

cout << endl ;

//Освобождение динамической памяти

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

delete a[i] ;

delete a ;

char isExit =0;

cout << "Введите 1 для выхода\n";

try

{

cin >> isExit;

if(isExit==1)

break;

}

catch(...)

{

}

}

}

void inputMatr(tMatr a, int str, int sto)

{

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

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

*(*(a + i) + j) = (str*sto) - (i + j);

}

void inputValMatr(bMatr a, int str, int sto)

{

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

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

*(*(a + i) + j) = false;

}

void handInput(tMatr a, int str, int sto)

{

int input = 0;

int *inputPointer = &input;

int *elemPointer;

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

{

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

{

elemPointer = (*(a + i) + j);

*elemPointer = 0;

while(*elemPointer == 0)

{

try

{

cin >> *inputPointer;

*elemPointer = (int)input;

}

catch(...)

{

cout << "Введите ещё раз для этой ячейки" << endl;

}

}

}

}

}

//сортировка элементов массива по возрастанию методом вставки

void sortVstavka(tMatr a, bMatr b, int str, int sto)

{

telem *curElem = 0;

telem *nextElem = 0;

if((str > 3) && (sto >3) && (str <= 20))

{

#pragma region |sto > str|

//Соответственно, если количество столбцов больше строк :

if(sto > str)

{

telem curTemp;

int begSto = 0;

int begStr = 0;

int curStr=0;

double predelStr = 0;

double predelSto = 0;

//Этот цикл содержит 4 цикла выравнивания и повторяется столь-

//ко раз, чтобы все элементы были выровнены по возрастанию

for(int l=0;l<=((str/2)-sto+str+1);l++)

{

begSto = 1;

(sto/2 == 0) ? predelSto = sto/2 : predelSto = (sto/2)-1;

(str/2==0)? begStr = (str/2)+1 : begStr = (str/2);

predelStr = begStr+1;

//1-й цикл выравнивания

for(int curSto = begSto;

curSto <= predelSto; curSto++)

{

curStr = begStr;

if(predelStr >0)

predelStr--;

while(curStr >= predelStr)

{

boolVal *curBool = (*(b + curStr) + curSto);

boolVal *nextBool = (*(b + curStr - 1) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr>0)

nextElem =

(*(a + curStr - 1) +curSto);

if( (*curElem > *nextElem) && curStr > 0 )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

if(((curStr-1) >= 0) &&

((curStr+1)<=str-1))

{

*nextBool = true;

}

curStr--;

if((curSto > (sto/2 + 1)))

break;

}

}

begSto = (sto-2);

predelStr = begStr+1;

//2-й цикл выравнивания

for(int curSto = begSto; curSto > predelSto; curSto--)

{

curStr = begStr;

if(predelStr >0)

predelStr--;

while(curStr >= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

boolVal *nextBool =

(*(b + curStr - 1) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr>0)

nextElem =

(*(a + curStr - 1) + curSto);

if( (*curElem > *nextElem) && curStr > 0 )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

if( ((curStr-1) >= 0) &&

((curStr+1)<=str-1) )

{

*nextBool = true;

}

curStr--;

if((curSto < (sto/2 - 1)))

break;

}

}

(str/2==0)? begStr = (str/2) : begStr = (str/2)+0.5;

predelStr = begStr;

//3-й цикл выравнивания

for(int curSto = 1; curSto <= predelSto; curSto++)

{

curStr = begStr+1;

if(predelStr < str-1)

predelStr++;

while(curStr <= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

boolVal *nextBool =

(*(b + curStr + 1)

+ curSto);

curElem =

(*(a + curStr) + curSto);

curTemp =

*curElem;

if(curStr<(str-1))

nextElem =

(*(a + curStr + 1) + curSto);

if( (*curElem > *nextElem)

&& curStr < str-1 )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr++;

if((curSto > (sto/2 + 1)))

break;

}

}

predelStr = begStr;

//4-й цикл выравнивания

for(int curSto = sto-2;

curSto > predelSto; curSto--)

{

curStr = begStr+1;

if(predelStr < str-1)

predelStr++;

while(curStr <= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

boolVal *nextBool =

(*(b + curStr + 1) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr<(str-1))

nextElem =

(*(a + curStr + 1) +

curSto);

if( (*curElem > *nextElem)&&

curStr < (str-1) )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr++;

if((curSto < ((sto/2 - 1))))

break;

}

}

}

}

#pragma endregion

#pragma region |sto < str|

if(sto < str)

{

telem curTemp;

int begSto = 0;

int begStr;

if(str % 2 == 0)

begStr = (str / 2) - 1;

else

begStr = (str / 2);

for(int l=0;l<=((str/2)-sto+str+1);l++)

{

int curStr=begStr;

double predelSto;

double predelStr = 0;

predelSto = sto/2-1;

predelStr = begStr+1;

begSto = 0;

//1

for(int curSto = begSto;

curSto <= predelSto; curSto++)

{

curStr = begStr;

if(predelStr >1)

predelStr--;;

while(curStr >= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr<(str-1))

nextElem =

(*(a + curStr - 1) + curSto);

if( (*curElem > *nextElem) &&

curStr <(str-1) )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr--;

}

}

//2-й цикл выравнивания

predelStr = begStr+1;for(int curSto = sto-1;

curSto > predelSto; curSto--)

{

curStr = begStr;

if(predelStr > 1)

predelStr--;

while(curStr >= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr<(str-1))

nextElem =

(*(a + curStr - 1) + curSto);

if( (*curElem > *nextElem) &&

curStr <(str-1) )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr--;

}

}

//3-й цикл выравнивания

if(str % 2 == 0)

begStr = (str / 2);

else

begStr = (str / 2);

begSto = 0;

predelStr = begStr-1;

for(int curSto = begSto;

curSto <= predelSto; curSto++)

{

curStr = begStr;

if(predelStr < (str-1))

predelStr++;;

while(curStr <= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr<(str-1))

nextElem =

(*(a + curStr + 1) + curSto);

if( (*curElem > *nextElem) &&

curStr < (str-1) )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr++;

}

}

//4-й цикл выравнивания

predelStr = begStr-1;

for(int curSto = sto-1;

curSto > predelSto; curSto--)

{

curStr = begStr;

if(predelStr < (str-1))

predelStr++;

while(curStr <= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr<(str-1))

nextElem =

(*(a + curStr + 1) + curSto);

if( (*curElem > *nextElem) &&

curStr < (str-1) )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr++;

}

}

}

}

#pragma endregion

#pragma region |sto == str|

if(sto == str)

{

telem curTemp;

for(int l=0;l<=((str/2)-sto+str+1);l++)

{

int begSto = 0;

int begStr = 0;

int curStr=begStr;

double predelSto = 0;

double predelStr = 0;

begSto = 0;

if(str % 2 == 0)

begStr = (str / 2) - 1;

else

begStr = (str / 2);

(sto/2 == 0) ? predelSto = sto/2 :

predelSto = (sto/2)+0.5;

predelStr = begStr+1;

for(int curSto = begSto;

curSto <= predelSto; curSto++)

{

curStr = begStr;

if(predelStr >0)

predelStr--;

while(curStr >= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

boolVal *nextBool =

(*(b + curStr - 1) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr>0)

nextElem =

(*(a + curStr - 1) + curSto);

if( (*curElem > *nextElem) &&

curStr > 0 )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr--;

}

}

//2-й цикл выравнивания

predelStr = begStr+1;

for(int curSto = sto-1;

curSto > predelSto; curSto--)

{

curStr = begStr;

if(predelStr > 0)

predelStr--;

while(curStr >= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

boolVal *nextBool =

(*(b + curStr - 1) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr>0)

nextElem = (*(a + curStr - 1) +

curSto);

if( (*curElem > *nextElem) &&

curStr > 0 )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr--;

}

}

if(str % 2 == 0)

{

begStr = (str / 2);

begSto = sto-1;

}

else

{

begStr = (str / 2)+1;

begSto = sto-2;

}

predelStr = begStr-1;

//3-й цикл выравнивания

for(int curSto = begSto; curSto >= predelSto; curSto--)

{

curStr = begStr;

if(predelStr < (str-1))

predelStr++;

while(curStr <= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

boolVal *nextBool =

(*(b + curStr + 1) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr<(str-1))

nextElem = (*(a + curStr + 1) + curSto);

if( (*curElem > *nextElem) &&

curStr < (str-1) )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr++;

}

}

if(str % 2 == 0)

{

begStr = (str / 2);

begSto = 0;

}

else

{

begStr = (str / 2)+1;

begSto = 1;

}

predelStr = begStr-1;

//4-й цикл выравнивания

for(int curSto = begSto;

curSto < predelSto; curSto++)

{

curStr = begStr;

if(predelStr < (str-1))

predelStr++;

while(curStr <= predelStr)

{

boolVal *curBool =

(*(b + curStr) + curSto);

boolVal *nextBool =

(*(b + curStr + 1) + curSto);

curElem = (*(a + curStr) + curSto);

curTemp = *curElem;

if(curStr<(str-1))

nextElem =

(*(a + curStr + 1) + curSto);

if( (*curElem > *nextElem) &&

curStr < (str-1) )

{

*curElem = *nextElem;

*nextElem = curTemp;

}

*curBool = true;

curStr++;

}

}

}

}

#pragma endregion

}

if((str == 3) && (sto == 3))

{

int var = 0;

int *one = (*(a + 1) + 1);

int *two = (*(a + 0) + 1);

if(one > two)

{

var = *one;

*one = *two;

*two = var;

}

}

}

void zanulenieElementov(tMatr a, bMatr b, int str, int sto)

{

for(int stro = 0; stro <= (str -1); stro++)

{

for(int stol = 0; stol <= (sto -1); stol++)

{

if(*(*(b + stro) + stol) == false)

{

*(*(a + stro) + stol) = 0;

}

}

}

}

void outputMatr(tMatr a, int str, int sto)

{ int i, j ;

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

{for(j = 0; j < sto; j++)

{cout.width(3) ;//ширина поля выводимого параметра

cout << *(*(a + i) + j) << ' ' ;

}

cout << "\n\n";

}

}

void outputBoolMatr(bMatr a, int str, int sto)

{ int i, j ;

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

{for(j = 0; j < sto; j++)

{cout.width(3) ;//ширина поля выводимого параметра

cout << *(*(a + i) + j) << ' ' ;

}

cout << "\n\n";

}

}

3.2 Результаты тестирования

Рис 1 - сортировка квадратной матрицы

Рис 2 - сортировка прямоугольной матрицы #1

Рис 3 - сортировка прямоугольной матрицы #1

сортировка данные матрица

Рисунок 4 - вывод уведомления о неправильности ввода данных

4. Описание программы

Аннотация

В документе указаны общие сведения о программе. Приведено общее описание функционирования программы. Приведены сведения о языке программирования. Описаны входные и выходные параметры и логика работы программы, приведён алгоритм программы и спецификации функций, даны сведения об используемых технических средствах и запуске программы.

Общие сведения

Программа написана на языке C++, реализована на ПЭВМ IMB PC и состоит из меню программы и набора функций. В совей совокупности это даёт возможность создания, просмотра, сортировки строк в заданных областях матрицы по возрастанию методов вставки. Для функционирования данной программы, а также, в частности, раздела кода, реализующего директивы препроцессора #region и #endregion необходимо наличие ПЭВМ, совместимой с IBM PC с предустановленным пакетом программного обеспечения Microsoft Visual Studio C++ 2010. Технические средства должны обеспечивать вывод результатов сортировки на экран.

Функциональное назначение

Программа предназначена для осуществления процедур создания, просмотра, сортировки строк в заданных областях матрицы методом сортировки по возрастанию методом выборок максимума и минимума и обнуления неотсортированных элементов. Результат выводится в окно консоли.

Описание логической структуры

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

Алгоритм программы

void sortVstavka()

void outputMatr();

int main()

void zaulenie()

void inputMatr()

void inputValMatr()

Используемые технические средства

Для нормального функционирования программы необходимо наличие ПЭВМ или сравнимого по техническим характеристикам ПК с IBM PC, для возможности компилирования программы из файла .cpp потребуется установить пакет программ Microsoft Visual Studio C++ 2010 или более позднюю её версию.

Вызов и загрузка

Вызов и загрузка осуществляется в следующей последовательности: С использованием компилятора C++ открыть файл laba6.cpp с текстом программы, после чего откомпилировать и запустить программу на выполнение. Дальнейшие действия определяются выбором параметра меню.

Входные данные

Входные данные для обработки программа запрашивает у пользователя при запуске. Пользователю необходимо ввести 2 числа, представляющих число строк и столбцов матрицы, эти данные преобразуются из введённых пользователем массивов переменных типа char в переменные типа int с помощью явного приведения возвращаемого значения функции atof(); с возможностью генерации исключения.

Выходные данные

Результатом работы программы является отсортированный двумерный массив элементов.

5. Описание применения

В документе приводится описание назначения программы, её основные характеристики и область применения. Также приводятся общие характеристики входной и выходной информации, описывается метод решения задачи

Назначение программы

Программа предназначена для сортировки строк в заданных областях матрицы по возрастанию методом обмена без флага перестановки и обнуления неотсортированных элементов. Необходимые данные вводятся пользователем с клавиатуры по подсказкам, выводимым на экран.

Условия применения

Для запуска программы из файла laba6.cpp необходимо наличие: ПЭВМ IBM PC или сравнимого с ним по техническим характеристикам ПК, компилятор C++.

Для запуска откомпилированного приложения laba6.exe необходимо наличие ПК с операционной системой Windows XP/Vista/7/8/10 или эмулятора, позволяющего запускать приложения Windows из-под другой ОС.

Программа поставляется с данной документацией и разрешена для модификации и использования в некоммерческих образовательных целях.

Описание задачи

Вывести в окно консоли квадратную матрицу, отсортировав в ней строки в заданной области матрицы по возрастанию методом вставки, обнулив не отсортированные элементы.

Входные и выходные данные

Входные данные представляют собой 2 целых числа, разделённые пробелом.

Выходные данные представляют собой видоизменённый двумерный массив.

Условие задачи

Написать программу, предназначенную для сортировки строк по возрастанию в заданных областях матрицы методом вставки. Обнулить не отсортированные элементы.

Объём занимаемой памяти

Файл laba6.cpp занимает на диске 20 480 байт

Файл laba6.exe занимает на диске 73 728 байт

Заключение

В процессе работы над программа были закреплены навыки программирования на C++.

В процессе разработки были использованы стандартные библиотеки, что помогло освоить навык работы с ними.

Был получен базовый комплект знаний по документированию программного обеспечения согласно принятым государственный стандартам.

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

ГОСТ 19.701-90 Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения.

Х.М. Дейтел, П.Дж. Дейтел. Как программировать на С++.

Размещено на Allbest.ru

...

Подобные документы

  • Анализ основных алгоритмов внутренней сортировки массивов данных, сравнение сложности их реализации и производительности. Сортировка пузырьком, методами вставок, выбора, методом Шелла, быстрая сортировка. Операция разделения массива внутренней сортировки.

    курсовая работа [161,7 K], добавлен 17.12.2015

  • Представление (построение, создание) списка данных в виде линейного однонаправленного списка. Формирование массива данных. Вывод данных на экран. Алгоритм удаления, перемещения данных. Сортировка методом вставки. Алгоритм загрузки данных из файла.

    курсовая работа [2,1 M], добавлен 16.05.2015

  • Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.

    курсовая работа [359,0 K], добавлен 23.05.2012

  • Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.

    курсовая работа [115,5 K], добавлен 22.05.2010

  • Структура программного комплекса. Создание набора данных. Описание модуля funkcii.tpu. Копирование информации из НД в заданный файл. Сортировка массива по номерам. Просмотр элементов и вычисление среднего, минимума и максимума из заданного диапазона.

    курсовая работа [626,6 K], добавлен 18.06.2014

  • Разработка программы, сортирующей массивы данных различного типа методом подсчета. Основные шаги алгоритма сортировки, ее свойства и модификация подсчетом. Целесообразность применения сортировки подсчетом. Условия эффективности алгоритма сортировки.

    лабораторная работа [438,5 K], добавлен 16.07.2015

  • Исследование основных особенностей алгоритмов быстрой и поразрядной сортировки данных. Построение графиков зависимости времени сортировки от количества элементов в файле и от степени перемешенности элементов. Описания сортировки чисел и строковых данных.

    лабораторная работа [1,2 M], добавлен 23.07.2012

  • Составление программы сортировки по возрастанию массив из 20 шестнадцатеричных чисел, просматривающей все исходные числа во внешней памяти и выбирающей самое большое число. Блок-схема алгоритма работы программы. Таблица команд и число их выполнения.

    курсовая работа [23,1 K], добавлен 24.05.2015

  • Использование электронной таблицы как базы данных. Сортировка и фильтрация данных в Microsoft Excel 97. Сортировка - это упорядочение данных по возрастанию или по убыванию. При фильтрации базы отображаются только записи, обладающие нужными свойствами.

    реферат [6,6 K], добавлен 17.11.2002

  • Алгоритм по обработке массивов таким образом, чтобы группы, состоящие из трех или более подряд стоящих нулей, были переписаны в начало массива. Сортировка полученных массивов методом всплывающего пузырька. Вывод на дисплей монитора обновленной матрицы.

    курсовая работа [300,1 K], добавлен 30.08.2011

  • Структура программного комплекса. Ввод информации из заданного файла. Создание набора данных. Добавление элементов в конец набора данных. Просмотр всех элементов набора данных. Копирование информации из НД в заданный файл. Сортировка массива по номерам.

    курсовая работа [630,5 K], добавлен 01.06.2014

  • Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.

    контрольная работа [360,4 K], добавлен 13.06.2012

  • Разработка информационной системы для регистрации постояльцев в гостинице с использованием структур данных и алгоритмов. Методы хеширования и сортировки данных. Обходы бинарных деревьев. Линейный однонаправленный список. Описание и тестирование программы.

    курсовая работа [2,3 M], добавлен 09.03.2014

  • Разработка исходной таблицы для хранения данных о выставках города. Сортировка данных и подведения промежуточных итогов. Параметры сортировки. Пример использования автофильтра. Сводные таблицы. Создание презентации в MS Powerpoint. Слайды презентации.

    контрольная работа [4,1 M], добавлен 16.12.2013

  • Основные понятия информационных баз данных. Реляционная модель данных. Создание с помощью программы СУБД Access таблиц "Оптовый магазин", их сортировка по различным критериям. Введение многотабличного запроса на выборку с обновлением записей и отчетом.

    контрольная работа [25,6 K], добавлен 26.02.2009

  • Сортировка вставками. Обменная сортировка. Сортировка посредством выбора. Сортировка подсчетом. Специальная сортировка. Сортировка Бетчера. Структура, задачи и формализация предметной области. Исчисление предикатов.

    контрольная работа [280,4 K], добавлен 30.08.2007

  • Изучение алгоритмов внутренней сортировки массивов данных, сравнение сложности их реализации и производительности. Отличительные черты сортировки включением, выбором, разделением, сортировки Шелла, обменной сортировки. Сравнение методов: плюсы и минусы.

    курсовая работа [203,8 K], добавлен 03.12.2010

  • Учет товаров, контроль их срока хранения на складах фирмы как предметная область проектируемой базы данных "Хранение товаров". Содержание основных запросов базы данных. Методы сортировки массива данных - пузырька, цифровой сортировки и деревьев сравнений.

    контрольная работа [3,4 M], добавлен 12.02.2014

  • Исследование особенностей работы с динамическими структурами данных, обработки строк. Реализация работоспособного программного обеспечения, которое должно поддерживать информационную базу пользователей компьютеров. Метод пирамидальной сортировки данных.

    курсовая работа [364,1 K], добавлен 06.04.2014

  • Реализация программы, разработанной в среде Turbo C++. Обработка динамической структуры данных, содержащей сведения об авторах книг. Моделирование работы со структурой как с базой данных. Метод сортировки и описание работы пользовательских подпрограмм.

    курсовая работа [124,3 K], добавлен 23.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.