Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
К вашим расспросам1 я, по-моему, достаточно подготовлен. 172 На днях, когда я шел в город из дому, из Фалера 2, один мой знакомый увидал меня сзади и...полностью>>
'Сочинение'
В работе представлены сочинения-рассуждения моих учеников, которые были выполнены в процессе подготовки к ЕГЭ. Дети пишут сочинения, делятся ими друг...полностью>>
'Документ'
[RUS]МОЗОЛЕВСКАЯ Е.Г. caf-ecology@ МГУЛ проф. каф. экологии и защиты леса МГУЛ, д-р биол. наук [RUS]ЛИПАТКИН В.А. caf-ecology@ МГУЛ проф. каф. экологи...полностью>>
'Документ'
Люсьєн Леві-Брюль, визначаючи головну рису свідомості архаїчної людини, казав про її «дологічний стан» (фр.etat prelogique), як такий, що побудований...полностью>>

Метод сортировки метод вставок, класс строка символов

Главная > Документ
Сохрани ссылку в одной из сетей:

Метод сортировки - метод вставок, класс - строка символов

#include <iostream.h>

#include <string.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

// Класс - строка символов

class SymStr

{

private:

char *s; // Строка

int length; // Длина строки

public:

// Конструкторы

SymStr()

{

s=new char[1];

*s='\0';

length=0;

}

SymStr(char *str)

{

length = strlen(str);//Возвращает длину строки str(без учета символа завершения строки)

s = new char[length + 1];

strcpy (s, str);//копирует строку str в строку s

}

SymStr(const SymStr &str)

{

length = str.length;

s = new char[length + 1];

strcpy (s, str.s);//копирует строку str.s в строку s

}

// Деструктор

~SymStr() { delete s; }

// Перегрузка оператора >

int operator> (SymStr &);

// Перегрузка оператора >=

int operator>=(SymStr &);

// Перегрузка оператора <

int operator< (SymStr &);

// Перегрузка оператора <=

int operator<=(SymStr &);

// Перегрузка оператора ==

int operator==(SymStr &);

// Перегрузка оператора =

SymStr &operator=(SymStr &Object);

// Перегрузка оператора << для вывода строки

friend ostream &operator<<(ostream &, SymStr &);

};

// Перегрузка оператора >

int SymStr::operator> (SymStr &Object)

{

if(strcmp(s, Object.s) > 0) return 1;

return 0;

}

// Перегрузка оператора >=

int SymStr::operator>=(SymStr &Object)

{

if(strcmp(s, Object.s) >= 0) return 1;

return 0;

}

// Перегрузка оператора <

int SymStr::operator< (SymStr &Object)

{

if(strcmp(s, Object.s) < 0) return 1;

return 0;

}

// Перегрузка оператора <=

int SymStr::operator<=(SymStr &Object)

{

if(strcmp(s, Object.s) <= 0) return 1;

return 0;

}

// Перегрузка оператора ==

int SymStr::operator==(SymStr &Object)

{

if(strcmp(s, Object.s) == 0) return 1;

return 0;

}

// Перегрузка оператора =

SymStr& SymStr::operator=(SymStr &Object)

{

length = strlen(Object.s);

s = new char[length + 1];

strcpy(s, Object.s);

return *this;

}

// Перегрузка оператора << для вывода строки

ostream &operator<<(ostream &fo, SymStr &fp)

{

fo << fp.s;

return fo;

}

// Cортировка вставками

template <class Type>

void insert (Type *x, int n)

{ int i, j;

Type t;

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

{

t = x[i];

for (j = i - 1; j >= 0 && t < x[j]; j--)

x[j + 1] = x[j]; // Сдвиг на одну позицию

x[j + 1] = t;

}

}

void main()

{

int i;

int mas1[30]; // Определяем целочисленный массив

double mas2[30]; // Определяем массив чисел с плавающей точкой

srand(time(NULL));// Инициализация генератора случайных чисел

// Заполняем массивы случайными числами

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

{ mas1[i] = rand()%30;

mas2[i] = rand()%30 * 0.01;

}

cout << "\t\t\tsortirovka with method insert\n\n";

// Сортировка целых чисел

insert(mas1, 30);

cout << "Result sortirovki int chisla :\n";

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

cout << mas1[i] << " ";

// Cортировка чисел с плавающей точкой

insert(mas2, 30);

cout << "\n\nResult sortirovki chisla with double point:\n";

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

cout << mas2[i] << " ";

SymStr mas3[5] = {"alik", "alat", "diana", "rachtiam", "lena"};

// Cортировка символьных строк

insert(mas3, 5);

cout << "\n\nResult sortirovki bitovich strok:\n";

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

cout << mas3[i] << " ";

getch();

}

Результаты работы программы
Сортировка методом вставок
Результат сортировки целых чисел:
0 0 1 2 3 4 6 7 8 8 8 9 10 11 12 12 13 13 14 15 16 19 20 21 22 26 27 28 28 29

Результат сортировки чисел с плавающей точкой:
0 0.01 0.03 0.03 0.05 0.06 0.06 0.07 0.08 0.09 0.09 0.1 0.12 0.13 0.14 0.14 0.15 0.15 0.16 0.16 0.18 0.19 0.19 0.2 0.2 0.22 0.26 0.27 0.27 0.29



Скачать документ

Похожие документы:

  1. Министерство образования и науки Российской Федерации Ростовский Государственный Университет

    Документ
    В сборнике представлены доклады участников научно-методической конференции «Современные информационные технологии в образовании: Южный Федеральный округ»", состоявшейся в РГУ 20-23 апреля 2005 года.
  2. «Программное обеспечение вычислительной техники и автоматизированных систем» (1)

    Учебное пособие
    Х Объектно-ориентированное программирование: Учеб. пособие / А.А. Хусаинов, Н.Н. Михайлова. – Комсомольск-на-Амуре: Государственное образовательное учреждение высшего профессионального образования «Комсомольский-на-Амуре государственный
  3. Программа экзамена по программированию для потока фит, осваивающего образовательную программу бакалавра по направлению Информатика и вычислительная техника в сокращенные сроки

    Программа
    Программа экзамена по ПРОГРАММИРОВАНИЮ для потока ФИТ, осваивающего образовательную программу бакалавра по направлению Информатика и вычислительная техника в сокращенные сроки
  4. Учебно-методический комплекс дисциплины Бийск бпгу имени В. М. Шукшина (47)

    Учебно-методический комплекс
    Ш 58 Программирование [Текст]: учебно-методический комплекс дисциплины / Автор-составитель: Г.С. Шилинг; Бийский пед. гос. ун-т им. В. М. Шукшина. – Бийск: БПГУ им.
  5. 3. Представление

    Обзор
    При подготовке третьего издания книги Введение в экспертные системы автор старался прежде всего учесть интересы и пожелания читателей четырех основных категорий:

Другие похожие документы..