Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Uses WinCrt;






Const n = 10; {задание размера вектора именованной константой}

Type TVect=Array [1..n] Of Integer; {описание нового типа}

Var i, j: Word;

vector: TVect;

min, max, v_min, v_max: Integer;

Procedure Sort_max_min(Var min_vector, max_vector: Integer;
Var AA: Array Of Integer);

Var i, j, k, min, max, i_min, i_max, k_nach, k_kon, nn: Integer;

Begin

nn: =High(AA); {индекс последнего элемента открытого вектора}

max: =AA[0];

i_max: =0;

For i: =1 To nn Do {поиск максимального элемента вектора}

If (AA[i]> max) Then

Begin

max: =AA[i];

i_max: =i;

End;

min: =AA[0];

i_min: =0;

For i: =1 To nn Do {поиск минимального элемента вектора}

If (AA[i]< min) Then

Begin

min: =AA[i];

i_min: =i;

End;

min_vector: =min;

max_vector: =max;

If (i_min< i_max) {определяем начало и конец диапазона сортировки}

Then

Begin

k_nach: =i_min+1;

k_kon: =i_max-1;

End

Else

Begin

k_nach: =i_max+1;

k_kon: =i_min-1;

End;

{сортировка элементов между k_nach и k_kon методом “пузырька”}

For i: =k_kon DownTo k_nach+1 Do

For j: =k_nach To i-1 Do

If (AA[j]> AA[j+1]) Then {меняем эти элементы местами}

Begin

k: =AA[j];

AA[j]: =AA[j+1];

AA[j+1]: =k;

End;

End; {процедуры Sort_max_min}

Begin {головной программы}

Randomize; {запуск генератора случайных чисел}

WriteLn('Лабораторная работа №7_2');

WriteLn('Вариант №0');

WriteLn('ИС-11-1');

WriteLn('Пупкин Василий');

WriteLn;

WriteLn('Задайте диапазон случайных чисел');

Write('v_min=');

ReadLn(v_min);

Write('v_max=');

ReadLn(v_max);

For i: =1 To n Do {заполнение вектора случайными числами}

vector[i]: =Random(v_max-v_min + 1) + v_min;

WriteLn;

WriteLn('Исходный вектор: ');

For i: =1 To n Do {вывод на экран исходного вектора}

Write(vector[i]: 5);

WriteLn;

Sort_max_min(min, max, vector);

WriteLn;

WriteLn('min=', min);

WriteLn('max=', max);

WriteLn;

WriteLn('Полученный вектор: ');

For i: =1 To n Do {вывод на экран выходного вектора}

Write(vector[i]: 5);

WriteLn;

WriteLn;

End.

3.2. На языке Си:

 

#include < stdio.h>

#include < conio.h>

#include < math.h>

#include < time.h>

// прототипы функций

void vorm_vector(int nn, int vect_max, int vect_min, int vect[nn]);

void min_max(int nn, int vector[nn]);

Int main()

{

Int i, j, n, vector_min, vector_max;

printf(" \nЛабораторная работа №7_2");

printf(" \nВариант №0");

printf(" \nПО-11-1");

printf(" \nПупкин Василий\n");

printf(" \nВведите нижнюю границу диапазона: ");

scanf(" %d", & vector_min);

printf(" \nВведите верхнюю границу диапазона: ");

scanf(" %d", & vector_max);

printf(" \nВведите размер вектора: ");

scanf(" %d", & n);

int vector[n];

printf(" \nИсходный вектор: \n");

Vorm_vector(n, vector_max, vector_min, vector);

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

printf(" %5d", vector[i]);

printf(" \n");

Min_max(n, vector);

printf(" \nВыходной вектор: \n");

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

printf(" %5d", vector[i]);

printf(" \n");






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.