Автор: Пользователь скрыл имя, 20 Февраля 2013 в 21:12, лабораторная работа
Дан двухмерный массив отсортировать его от первого элемента массива до конца, используя сортировку вставка.
МГУ
Лабораторная работа №4.
«Массивы»
Выполнил:
Проверил:
Ижевск 2007
Вариант – 20.
1) Постановка задачи.
Дан двухмерный массив отсортировать его от первого элемента массива до конца, используя сортировку вставка.
2) Математическая постановка задачи.
3 |
1 |
9 |
2 |
5 |
7 |
1 |
3 |
9 |
2 |
5 |
7 |
1 |
3 |
9 |
2 |
5 |
7 |
1 |
2 |
3 |
9 |
5 |
7 |
1 |
2 |
3 |
5 |
9 |
7 |
Алгоритм
1. начало
2. очистить экран
3. вводим массив
4. сортировка массива
5.читаем
6. конец
Текст программы.
uses crt;
const
n = 3;
m = 3;
var
i,j: byte;
mas: array[1..n,1..m] of shortint;
spisok: array[1..n*m+1] of shortint;
a,b,k: shortint;
uzhebylo: boolean;
begin
clrscr;
writeln('Vvedite spisok iz ',n * m ,' chisel :');
i:= 1;
for i:= 1 to n * m do
read(spisok[i]);
writeln;
write('Vvedite chislo dlya vstavki : ');
readln(k);
i:= 1;
for j := 1 to n * m do
for i := 1 to n * m - 1 do
begin
if spisok[i] < spisok[i+1] then
begin
a := spisok[i];
spisok[i] := spisok[i+1];
spisok[i+1] := a;
end;
end;
uzhebylo := false;
for i := 1 to n * m do
if (spisok[i] < k) then
if not uzhebylo then
begin
a := spisok[i];
spisok[i] := k;
uzhebylo := true;
dec(i);
end
else
begin
b := spisok[i];
spisok[i] := a;
a := b;
end;
writeln;
writeln;
i := 1;
j := 1;
for i := 1 to n do
for j := 1 to m do
Mas[i,j] := Spisok[(i - 1) * m + j];
for i := 1 to n do
begin
for j := 1 to m do
write(Mas[i,j],' ');
writeln;
end;
readkey;
end.
Примеры программы
Тестирование
Вводимые данные |
Результаты тестирования |
2,3,56,52,4,7,6,9,9
|
56,52,9 9, 7,6 4,3,3 |
1,2,3,4,5,6,7,8,9 |
9,8,7 6,6,5 4,3,2 |
4,5,8,2,6,9,1,3,7 |
9,8,7 6,5,5 4,3,2 |
Вывод
В этой лабораторной работе мы работали с массивами. Задача заключалась в том, чтобы отсортировать массив от первого элемента до конца, используя сортировку «вставка». Программа работает правильно, поскольку массив был отсортирован, и проведено тестирование подтверждающее это.