Суббота, 05.09.2026, 12:01
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
ПОМОГИТЕ ПОЖАЛУЙСТА
ATAMAHДата: Воскресенье, 18.04.2010, 20:49 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
Здравствуйте. Получил задание составить программу реализующую обработку двумерного числового произвольного массива тремя способами сортировки (пузырька, вставкой, выбора). Честно признаюсь что дуб я в этом деле, а вникнуть и решить самому времени уже не хватает. Кое-что напридумывал для начала (правда не знаю будет ли это работать). Очень нужно три процедуры сортировки двумерного массива, чтоб хоть что-то слепить. Одну процедуру с сортировкой вставил, но не знаю правильна она или нет.
Вот начало моей программы:

program zadanie_proba_zadolbala;

uses crt;

const p=10;

type mas=array[1..p, 1..p] of integer;

var massiv: mas;
ch: char;
procedure InsertMas(var mass: mas);

var i,j,n,s: integer;

begin
writeln('Введите колисчества строк '); readln(n);
writeln('Введите количество столбцов '); readln(s);
for i:=1 to n do
for j:=1 to s do
begin
write('Введите [',i,',',j,']-ый элемент массива: '); readln(mass[i,j]);
end;
end;

procedure PrintMas(mass: mas);

var i,j,n,s:integer;

begin
for i:=1 to n do
for j:=1 to s do
begin
gotoxy(j*5+35,i);
writeln(mass[i,j]);
end;
end;

procedure pr_swap(var a,b:integer);
begin
a:=a+b;
b:=a-b;
a:=a-b;
end;

procedure sort1(n,s:byte;var mass: mas); {сортировка матрицы по убыванию}
var i,j:byte; pr:boolean;
begin
pr:=true;
while pr do
begin
pr:=false;
for i:=1 to n do
begin
for j:=1 to s-1 do
if mass[i,j]<mass[i,j+1]
then
begin
pr_swap(mass[i,j],mass[i,j+1]);
pr:=true;
end;
if (i<>n)and(mass[i,s]<mass[i+1,1])
then
begin
pr_swap(mass[i,s],mass[i+1,1]);
pr:=true;
end;
end;
end;
end;

BEGIN
clrscr;
InsertMas(massiv);
PrintMas(massiv);

repeat
writeln('Выберите вариант сортировки:');
writeln('1 - Выбора');
writeln('2 - Вставки');
writeln('3 - Пузырька');
writeln;
write('...');
ch:=readkey;
until (ch='1') or (ch='2') or (ch='3');
case ch of
'1': sort1;
'2': sort2;
'3': sort3;

end;
readkey;
readln;
readln;
END.

помогите пжлст очень буду благодарен, а то хана мне((

 
Dock^Дата: Суббота, 24.04.2010, 15:14 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 19
Репутация: 1025
Статус: Offline
В инете все алгоритмы есть,погугли,сам найдешь лучше будет)
 
  • Страница 1 из 1
  • 1
Поиск:



Rambler's Top100 WOlist.ru - каталог качественных сайтов Рунета