Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Файлы (или Записи)

Автор: Провинциалка 23.11.2010 14:24

Здравствуйте форумчане! Есть фрагмент программы на сортировку по возрастанию. Может ли кто-нибудь подсказать комментарии к строкам текста? mega_chok.gif
Code

for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
obm:=a[i];
a[i]:=a[j];
a[j]:=obm;
end;

Автор: TarasBer 23.11.2010 14:49


for i:=1 to n-1 do
for j:=i+1 to n do // по всем парам элементов смотрим
if a[i]>a[j] then // если они стоят не в том порядке
begin
obm:=a[i]; // то меняем их местами
a[i]:=a[j];
a[j]:=obm;
end;


Автор: Провинциалка 23.11.2010 15:04

Спасибо! Но почему мы пишем n-1 и i+1 ???

Автор: TarasBer 23.11.2010 15:29

Потому что в любой паре первый элемент (i) не может быть равен n, и второй элемент (j) не может быть равен первому.

Автор: Провинциалка 23.11.2010 16:08

Благодарю!

Добавлено через 10 мин.
Теперь понятно почему я задаю тут глупые вопросы - оказывается я не понимаю смысл значений i и j в этом примере! Может подскажете? wub.gif
program info_write;
uses CRT;
type
inform=record
num:byte;
fio:string;
adress:string;
god_post: integer;
end;
var
fv: file of inform;
rv: array [1..20] of inform;
n, i, j: byte;
inf: inform;
begin
clrscr;
WriteLn ('Vvedi kolichectvo sotrudnikov:');
ReadLn (n);
WriteLn ('Vvedi informaciu o cheloveke: ');
for i:=1 to n do
begin
ReadLn (rv[i].num);
ReadLn (rv[i].fio);
ReadLn (rv[i].adress);
ReadLn (rv[i].god_post);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if rv[i].god_post > rv[j].god_post then
begin
inf:=rv[i];
rv[i]:=rv[j];
rv[j]:=inf;
end;
assign (fv, 'inform.doc');
rewrite (fv);
for i:=1 to n do
begin
inf:=rv[i];
Write (fv, inf);
end;
close (fv);
reset (fv);
WriteLn ('Sortirovka po godam:');
While not eof (fv) do
begin
read (fv, inf);
Write (inf.num, ' ', inf.fio, ' ', inf.adress, ' ', inf.god_post);
WriteLn;
end;
Close (fv);
readln;
end.

Автор: TarasBer 23.11.2010 16:25

i, j - временные индексы.

Автор: Lapp 24.11.2010 4:15

 ! 
Провинциалка, расставь везде теги!! Сколько уже можно просить??
Читай Правила!



 ! 
Название темы СОВЕРШЕННО НЕ СООТВЕТСТВУЕТ ее содержанию!
Хватит уже издеваться над теми, кто тебе помогает..


М

Прочти правила. Еще один промах - премод.