Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2012, 11:37   #1
DreamerEvermore
Новичок
Джуниор
 
Регистрация: 20.02.2012
Сообщений: 2
Радость методы сортировки данных массива

пожалуйста,помогите исправить ошибки
вот само задание:Разработать программу для обработки массива, обеспечив выполнение следующих операций:
1 Ввод значений массива с клавиатуры и запись в файл
2 Генерация значений массива с помощью датчика случайных чисел
3 Чтение данных из файла в массив
4 Вывод содержимого массива на экран
5 Сортировка массива методом выбора
6 Сортировка методом вставки
7Сортировка методом обмена (“пузырьковая”)
8Завершение работы программы.

program lab1;
const n=5;
type mass=array[1..n] of integer;
var i:integer;
x:mass;me:integer;
fi:text;
procedure massivoutput (var x:mass;n:integer);
var
i:integer;
begin
for i:=1 to n do
begin
write ('x[',i,']=');
readln(x[i]);
end;
end;
procedure vvodf(var x:mass;n:integer);
var
i:integer;

begin
assign( fi,'C:\Users\User\Desktop\ttt.txt') ;
Reset(fi); {открываем файл для записи}
for i:=1 to n do
readln(fi,x[i]); {записываем последовательно строки в файл}
close(fi);
end;
procedure vivod (a:mass;n:integer);
var i:integer;

begin
for i:=1 to n do
begin
write (x[i]:3);
writeln;
end;
end;
procedure massivgenerate (var x:mass;n:integer);
var
i,c:integer;
begin
randomize;
for i:=1 to n do
begin
c:=random(11);
c:=c-5;
x[i]:=c;
end;
end;
PROCEDURE puziryok (var x:mass; n:integer);
VAR i,j,t, imin: integer;
Begin
for i:=1 to n-1 do
begin imin:=i;
for j:=i+1 to n do
if x[j]<x[imin] then imin:=j;
t:=x[imin];
x[imin]:=x[i];
x[i]:=t;
end;
end;
procedure Inser(var imin: mass; n:integer);
var
i, j,x: integer;

begin
for i := 2 to n do
begin
x := imin[i];
j := i-1;
while (x<imin[j]) and (j>0) do
begin
imin[j+1] := imin[j];
j := j-1;
end;
imin[j+1] := x;
end;
end;
procedure Selekt(var imin: mass; n:integer);
var
j, k,i, x: integer;

begin
for i := 1 to n-1 do
begin
k := i;
x := imin[i];
for j := i+1 to n do { íàéòè ýëåìåíò ñ íàèìåíüøèì çíà÷åíèåì }
if imin[j]<x then
begin
k := j;
x := imin[j];
end;
imin[k] := imin[i]; { îáìåí }
imin[i] := x;
end;
end;

BEGIN
repeat
writeln('0-ввод значений массива с клавиатуры');
writeln('1-вывод содержимого массива на экран');
writeln('2-заполнение массива случайными числами');
writeln('2-заполнение массива случайными числами');
writeln('3-сортировка методом "пузырька"');
writeln('10-выход');

readln(me);
case me of
0: massivoutput (x,n);
1:vivod(x,n);
2:massivgenerate(x,n);
3uziryok (x,n);
4:vvodf (x,n);
{massivoutput (x, n);
inser(a,n);
massivoutput (x, n);
Selekt (x,n);
massivoutput (x, n);}
end;
until (me=10);

END.
DreamerEvermore вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простейшие методы сортировки данных в массиве DreamerEvermore Помощь студентам 3 20.02.2012 13:53
Методы сортировки и поиска данных Паркер Помощь студентам 0 19.12.2011 21:56
Массивы методы сортировки kop Общие вопросы C/C++ 6 15.06.2011 12:08
Паскаль методы сортировки Igomax Помощь студентам 5 24.10.2009 15:59
Методы сортировки. Teddy Помощь студентам 1 16.10.2008 19:08