Осуществить сортировку заданного массива двумя методами: адресная сортировка и сортировка вставками Определить количество проходов по массиву, количество сравнений и количество перестановок элементов массива. C++
Информатика - наука об информации и автоматизации информационных процессов. Информация - это новости, новые факты, знания про объекты и явления окружающей среды. Компьютер - устройство или система выполнять заданную чётко определённую изменяемую последовательность операций. Файл - это упорядоченная совокупность данных на внешнем носителе которая имеет имя которое операционная система обрабатывает как единое целое. Текстовой редактор - это самостоятельная компьютерная программа или компонент программного комплекса. Графический редактор - это программа позволяющая создавать, просматривать, обрабатывать и редактировать цифровые изображения на компьютере.
var arr : arr2; n : integer; i, sot, spl, snu : byte; ch : char;
begin write('Хотите использовать заданный по умолчанию массив? (y/n): '); ch := readkey; writeln(ch); sot := 0; spl := 0; snu := 0; if ((ch='y') or (ch='Y')) then begin { Используем заданный по умолчанию } for i:=1 to 12 do begin if arr1[i] > 0 then inc(spl); if arr1[i] < 0 then inc(sot); if arr1[i] = 0 then inc(snu); write(arr1[i], ' '); end; writeln; end else begin { Создаём и заполняем новый массив } write('Введите желаемый размер массива: '); readln(n); setLength(arr, n); writeln('Введите элементы массива:'); for i:=0 to high(arr) do readln(arr[i]); for i:=0 to high(arr) do begin if arr[i]>0 then inc(spl); if arr[i]<0 then inc(sot); if arr[i]=0 then inc(snu); write(arr[i], ' '); end; writeln; end;
Адресная сортировка
#include <iostream>
int main()
{
int value = 8;
int *ptr = &value;
std::cout << ptr << '\n';
std::cout << ptr+1 << '\n';
std::cout << ptr+2 << '\n';
std::cout << ptr+3 << '\n';
return 0;
}
Сортировка вставками
#include <iostream>
using namespace std;
int main()
{
const int N = 10;
int a[N] = { 12, 5, 3, 2, 45, 96, 6, 8, 11, 24 };
int buff = 0; // для хранения перемещаемого значения
int i, j; // для циклов
/ Начало сортировки /
for (i = 1; i < N; i++)
{
buff = a[i]; // запомним обрабатываемый элемент
// и начнем перемещение элементов слева от него
// пока запомненный не окажется меньше чем перемещаемый
for (j = i - 1; j >= 0 && a[j] > buff; j--)
a[j + 1] = a[j];
a[j + 1] = buff; // и поставим запомненный на его новое место
}
/ Конец сортировки /
for (int i = 0; i < N; i++) // вывод отсортированного массива
cout << a[i] << '\t';
cout << endl;
}
Думаю :)