в файле A.dat дан массив из 20 целых чисел. определить количество инверсий, т.е. ситуаций, когда текущий элемент меньше любого предыдущего. упорядочить массив по возрастанию в подпрограмме. упорядоченный массив записать в файл B.res
а файл какой текстовый или типизированый?
var f:Textfile; j,i,k,l,count:integer; a:array [1..100] of integer;
begin
assignfile(f,'<путь к файлу>');
reset(f); //открываемфайл
count:=0;
while not eof(f) do
begin
inc(count);
read(f,a[count]); //считыааем очередной элемент массива, count содержит количество элементов
end;
i:=0; // содержит количество инверсий
for j:=1 to count do
begin
l:=0;
for k:=j downto 1 do
begin
if a[j]<a[k] then inc(l);
end;
if j=l+1 then inc(i);
end;
//для то чтобы увидеть количество инверсий нужно просто вывести переменную i на екранж
//сюда всталяем любую сортировку и вывод файла
end.
а процедуру ты как описал? и что такое inc ?
procedure my(Var f:Textfile; Var g:Textfile); //получает файлы как пареметр
var j,i,k,l,count:integer; a:array [1..100] of integer;
begin
reset(f); //открываемфайл
count:=0;
while not eof(f) do
begin
inc(count);
read(f,a[count]); //считыааем очередной элемент массива, count содержит количество элементов
end;
i:=0; // содержит количество инверсий
for j:=1 to count do
begin
l:=0;
for k:=j downto 1 do
begin
if a[j]<a[k] then inc(l);
end;
if j=l+1 then inc(i);
end;
//для то чтобы увидеть количество инверсий нужно просто вывести переменную i на екранж
//сюда всталяем любую сортировку и вывод файла
end;
Спасибо огромное) а ты проверял, работает?)
да работает
Спасибо!!! Очень признателен!