|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.12.2011, 16:48 | #1 |
Регистрация: 25.11.2011
Сообщений: 3
|
Сортировка массива по убыванию
Есть программка. Помогите, пожалуйста, ее переделать, чтобы программа была написана с использованием подпрограмм и включала бы как минимум две подпрограммы: формирование массива и его вывод на экран. Сама пыталась разбить, но вылазит куча ошибок( Помогите, пожалуйста, буду очень признательна:
Код HTML:
uses crt;
const nmax=20;
var a:array[1..nmax,1..nmax] of real;
n,m,i,j,l:byte;
mn,b:real;
begin
clrscr;
randomize;
repeat
write('Количество строк до ',nmax,' n=');
readln(n);
until n in [1..nmax];
repeat
write('Количество столбцов до ',nmax-1,' m=');
readln(m);
until m in [1..nmax-1];
for i:=1 to n do
for j:=1 to m do
a[i,j]:=10*random;
{вычисление минимальных в строках и запись их в дополнительный столбец}
for i:=1 to n do
begin
mn:=a[i,1];
for j:=1 to m do
if a[i,j]<mn then mn:=a[i,j];
a[i,m+1]:=mn;
end;
writeln('Исходный массив:');
writeln('Миним.':(m*5+10));
for i:=1 to n do
begin
for j:=1 to m+1 do
if j=m+1 then write(a[i,j]:8:1)
else write(a[i,j]:5:1);
writeln;
end;
{перестановка строк по неубыванию минимальных(по последнему столбцу)}
{сортировка прямым обменом}
for i:=1 to n-1 do
for l:=i+1 to n do
if a[i,m+1]>a[l,m+1] then
for j:=1 to m+1 do
begin
b:=a[i,j];
a[i,j]:=a[l,j];
a[l,j]:=b;
end;
writeln('Строки по неубыванию минимальных:');
writeln('Миним.':(m*5+10));
for i:=1 to n do
begin
for j:=1 to m+1 do
if j=m+1 then write(a[i,j]:8:1)
else write(a[i,j]:5:1);
writeln;
end;
readln
end.
|
18.12.2011, 17:28 | #2 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,309
|
Например:
Формирование массива: Код:
Код:
Как-то так, ...
|
19.12.2011, 13:00 | #3 |
Регистрация: 25.11.2011
Сообщений: 3
|
Проба
Вот попробовала сделать, ничего не получается, опять куча ошибок, не пойму, что не так. Подскажите, пожалуйста, в чем ошибка.
Код:
___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 19.12.2011 в 14:35. |
19.12.2011, 14:37 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вызов функций и процедур производится исключетельно ПО ИМЕНИ (выкиньте слово Procedure там, где Вы вызываете эти процедуры:
Код:
p.s. кстати, на будущее. я бы рекомендовал не использовать ключевые слова в качестве имён. Ну неужели вместо Input хуже выглядит InputArray или DoInput и т.д. а вместо Output - PrintArray или DoOutputArrayToScreen и т.д. и т.п. Хотя, будет работать и с теми именами, что Вы описали... Последний раз редактировалось Serge_Bliznykov; 19.12.2011 в 14:40. |
19.12.2011, 15:46 | #5 |
Форумчанин
Регистрация: 05.09.2011
Сообщений: 109
|
Поубирал все ошибки, у меня работает, программа заполняет и выводит массив(только без сортировки):
Код:
Последний раз редактировалось kuy; 19.12.2011 в 15:56. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка массива по убыванию | netiv | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.11.2011 09:10 |
[Fortran] Сортировка столбцов массива по убыванию | abit-2010 | Помощь студентам | 2 | 13.03.2011 21:46 |
Сортировка элементов массива по убыванию | nadminka | Общие вопросы .NET | 1 | 18.05.2010 23:08 |
1. Сортировка Шелла по убыванию 2. Сортировка вставками по убыванию | Arkuz | Помощь студентам | 1 | 25.09.2007 17:16 |