IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Массивы процедуры функции
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Пжл, кто может объяснить программу(расписать что означает каждая строчка).

В массиве 10х10 целого типа отсортировать главную диагональ (процедура), вычислить ее сумму (функция), поменять местами строки, номера которых укажет пользователь. Вывод массива (процедура).

Написать эту задачу: 1. все процедуры в одном файле
2. процедуры/файлы в библиотечном файле
3. вывод результатов в текстовый файл


Паскаль абс

var p:array[1..10,1..10] of byte;
i,j,n1,n2,z:byte;

procedure vyvod;
var i,j:byte;
begin
For i:=1 to 10 do
begin
For j:=1 to 10 do
Write(p[i,j],' ');
Writeln;
end;
Writeln;
end;

procedure sort;
var i,z:byte;
b:boolean;
begin
Repeat
b:=true;
For i:=1 to 9 do
If p[i,i]>p[i+1,i+1] then
begin
b:=false;
z:=p[i,i];
p[i,i]:=p[i+1,i+1];
p[i+1,i+1]:=z;
end;
Until b;
end;

function summ:integer;
var i:byte;
begin
Result:=0;
For i:=1 to 10 do
Result:=Result+p[i,i];
end;

begin
Randomize;
For i:=1 to 10 do
For j:=1 to 10 do
p[i,j]:=Random(21);
vyvod;
sort;
vyvod;
Writeln(summ);
Writeln;
Writeln('Nomera strok: ');
Repeat
Write(' n1 = ');
Readln(n1);
Write(' n2 = ');
Readln(n2);
If n1=n2 then
Writeln('n1 = n2 = ',n1);
If n1>10 then
Writeln(n1,' > 10');
If n2>10 then
Writeln(n2,' > 10');
If n1<1 then
Writeln(n1,' < 1');
If n2<1 then
Writeln(n2,' < 1');
Until (n1<>n2) and (n1>=1) and (n1<=10) and (n2>=1) and (n2<=10);
For j:=1 to 10 do
begin
z:=p[n1,j];
p[n1,j]:=p[n2,j];
p[n2,j]:=z;
end;
vyvod;
Readln;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 10.05.2024 18:57
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name