Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
CryNet
0 / 0 / 3
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 1
1

Сортировка массива

11.07.2011, 10:37. Просмотров 691. Ответов 6
Метки нет (Все метки)

помогите пожалуйста с данной программой. заранее благодарен.
ввести с клавиатуры 20 элементов в массив. Отсортировать его в порядке убывания и записать в файл.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.07.2011, 10:37
Ответы с готовыми решениями:

Сортировка массива и сортировка строка матрицы
1) Создание массива А с помощью рандома с целыми от -100 до 100 и вывести его на экран....

Одномерные массивы. Вставка, удаление элементов массива. Перестановка элементов массива. Сортировка массива методом пузырька
Помогите пожалуйста! Дан массив, состоящий из N букв латинского алфавита а) Заполнить массив...

Сортировка массива. Упорядочить нечетные элементы массива по возрастанию методом обмена
Упорядочить одномерный массив по возрастанию, методом обмена. (по возрастанию должны быть толбко...

Сортировка вставками «с конца массива» последовательным поиском с начала массива
Сортировка вставками «с конца массива» последовательным поиском с начала массива.

Сортировка массива вставками с конца массива
Дано натуральное число N (1<=N<=100), целочисленный линейный массив a0, a1, …, aN-1. Эле-менты...

6
Zanexess
112 / 85 / 52
Регистрация: 22.10.2010
Сообщений: 227
11.07.2011, 11:29 2
Пузырьком найдешь и в поиске если нужно.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
uses crt;
var a: array [1..20] of longint;
i:integer;
f:text;
 
procedure sort(first,last: integer);
var j :integer;
    buf,mid:longint;
 begin
  If first<last
    then
     begin
      mid:=a[random(last-first)+first];
      i:=first - 1;
      j:=last + 1;
       While i<j do
        begin
          Repeat
           inc(i);
          until a[i]<=mid;
          Repeat
           dec(j);
          until a[j]>=mid;
          If i<j then
            begin
             buf:=a[i];
             a[i]:=a[j];
             a[j]:=buf;
            end;
        end;
      sort (first,j);
      sort (j+1,last);
     end;
 end;
 
begin
 For i:=1 to 20 do Readln(a[i]);
 sort (1,20);
 For i:=1 to 20 do write (a[i]:10);
 Writeln;
   Assign (f,'File_of_integer.txt');
   Rewrite (f);
   For i:=1 to 20 do writeln (f,a[i]:6);
   close (f);
end.
0
bigar
53 / 53 / 36
Регистрация: 18.02.2011
Сообщений: 146
11.07.2011, 11:33 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses crt;
var a:array [1..30] of integer;
f: text; i,p:integer;flag:boolean;
begin
clrscr;
for i:=1 to 20 do begin
write('a[',i,']= ');
readln(a[i]);
end;
repeat
flag:=true;
for i:=1 to 19  do
if a[i]<a[i+1] then begin
p:=a[i];
a[i]:=a[i+1];
a[i+1]:=p;
flag:=false;
end;
until flag;
assign(f,'massiv.txt');
rewrite(f);
for i:=1 to 20 do begin
write(f,a[i],' ');
write(a[i],' ');
end;
close(f);
readkey;
end.
0
CryNet
0 / 0 / 3
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 1
12.07.2011, 22:43  [ТС] 4
а если с модулем это организовать то как?
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
12.07.2011, 23:01 5
Взял код второго поста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
unit sort;
interface
procedure sort(first,last: integer);
implementation
procedure sort(first,last: integer);
var j :integer;
    buf,mid:longint;
 begin
  If first<last
    then
     begin
      mid:=a[random(last-first)+first];
      i:=first - 1;
      j:=last + 1;
       While i<j do
        begin
          Repeat
           inc(i);
          until a[i]<=mid;
          Repeat
           dec(j);
          until a[j]>=mid;
          If i<j then
            begin
             buf:=a[i];
             a[i]:=a[j];
             a[j]:=buf;
            end;
        end;
      sort (first,j);
      sort (j+1,last);
     end;
 end;
End.
0
CryNet
0 / 0 / 3
Регистрация: 13.04.2011
Сообщений: 78
Записей в блоге: 1
12.07.2011, 23:17  [ТС] 6
Цитата Сообщение от go Посмотреть сообщение
Взял код второго поста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
unit sort;
interface
procedure sort(first,last: integer);
implementation
procedure sort(first,last: integer);
var j :integer;
    buf,mid:longint;
 begin
  If first<last
    then
     begin
      mid:=a[random(last-first)+first];
      i:=first - 1;
      j:=last + 1;
       While i<j do
        begin
          Repeat
           inc(i);
          until a[i]<=mid;
          Repeat
           dec(j);
          until a[j]>=mid;
          If i<j then
            begin
             buf:=a[i];
             a[i]:=a[j];
             a[j]:=buf;
            end;
        end;
      sort (first,j);
      sort (j+1,last);
     end;
 end;
End.
а аса программа где? это чисто модуль.. но ведь должна быть еще головная программа к модулю
0
Puporev
Модератор
58048 / 44170 / 30512
Регистрация: 18.05.2008
Сообщений: 105,756
13.07.2011, 09:07 7
Текст модуля.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
unit massiv;
interface
uses crt;
const n=20;
      name='result.txt';
type mas=array[1..n] of integer;
procedure Vvod(var a:mas);
procedure Sort(var a:mas);
procedure WriteFile(a:mas; var f:text);
implementation
procedure Vvod(var a:mas);
var i:integer;
begin
writeln('Введите ',n,' элементов массива:');
for i:=1 to n do
 begin
  write('a[',i,']=');
  read(a[i]);
 end;
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
write(a[i]:4);
writeln
end;
procedure Sort(var a:mas);
var i,j,x:integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]<a[j] then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
end;
procedure WriteFile(a:mas; var f:text);
var i:integer;
begin
assign(f,name);
rewrite(f);
writeln(f,'Отсортированный массив:');
for i:=1 to n do
write(f,a[i]:4);
close(f);
writeln('Отсортированный массив записан в файл ',name);
end;
end.
Текст программы.
Pascal
1
2
3
4
5
6
7
8
uses crt,massiv;
var a:mas;
    f:text;
begin
Vvod(a);
Sort(a);
WriteFile(a,f);
end.
0
13.07.2011, 09:07
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2011, 09:07

Блок схема.Сортировка «Пузырьком», Сортировка методом «Последовательных перестановок», Сортировка «Вставками»
Помогите, нужны блок схемы Сортировка «Вставками» Program Vstavka; uses dos; Type mass=array ...

Сортировка массива
Сортировка массив Дайте N (1 &lt;= N &lt;= 100) номеров, выводить их в порядке неубывания. Пример...

Сортировка массива
help pls case (13 mod 10) of 0,5: writeln(‘Отсортировать массив по возрастанию методом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.