Здравствуйте. Помогите решить задачку: Из чисел 0,1,2, находящихся в различной последовательности. Сделать строгую очередность из 0,1,2. При этом сортировку не применять. Вывести результаты. Затем удалить по одному граничному значению. (Обрабатывать массив и файл из текстового файла)
Хм.. А расположение в порядке строгой очередности уже не называется сортировкой?..
Поглотить через рот литр воды, при этом не пить? Перемещаться, поочередно переставляя ноги, при этом не ходить?..
Пожалуйста, приведи пример: сначала как было, а потом как должно быть.
Если работать с массивом, то так:
if a[i]=0 then inc(k0);
if a[i]=1 then inc(k1);
if a[i]=2 then inc(k2);
end;
for i:=1 to n do
if i<=k1 then a[i]:=1 else;
if (i>k1) and (i<=k1+k0) then a[i]:=0
else a[i]:=2;
Да, тупею.. такое мне в голову не пришло: пересчитать количество элементов кавждого вида (благо видов всего три) и заполнить ими массив (или файл) по порядку . Спасибо за науку!
for i:=1 to FileSize(f) do begin
Read(f,x);
case x of
0: Inc(k0);
1: Inc(k1);
2: Inc(k2)
end
end;
x:=0;
for i:=1 to k0 do Write(g,x);
x:=1;
for i:=1 to k0 do Write(g,x);
x:=2;
for i:=1 to k0 do Write(g,x);
......Препод мне продиктовал (Обрабатывать массив и файл из текстового файла). Но потом добавил,что работать с типизированным.... Не понимаю
Это курсовая работа. Может быть надо массив завести в программе в текстовый файл, а затем эту информацию переписать в типизированный и там уже работать...
Если есть противоречия в условиях, то либо делай так, как написано (а не сказано или пробормотано), либо пойди и спроси у препа напрямую.