|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.02.2012, 11:37 | #1 |
Новичок
Джуниор
Регистрация: 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 | Помощь студентам | 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 |