Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с типизированным файлом
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Lyorri
Здравствуйте. Помогите решить задачку: Из чисел 0,1,2, находящихся в различной последовательности. Сделать строгую очередность из 0,1,2. При этом сортировку не применять. Вывести результаты. Затем удалить по одному граничному значению. (Обрабатывать массив и файл из текстового файла)
Lapp
Хм.. А расположение в порядке строгой очередности уже не называется сортировкой?..
Поглотить через рот литр воды, при этом не пить? Перемещаться, поочередно переставляя ноги, при этом не ходить?.. blink.gif

Пожалуйста, приведи пример: сначала как было, а потом как должно быть.
Lyorri
Если работать с массивом, то так:
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;


А мне нужно работать в типизированном файле с компонентами...я не знаю...
Lapp
Да, тупею.. такое мне в голову не пришло: пересчитать количество элементов кавждого вида (благо видов всего три) и заполнить ими массив (или файл) по порядку smile.gif. Спасибо за науку! smile.gif
Цитата(Lyorri @ 5.11.2007 12:54) *

А мне нужно работать в типизированном файле с компонентами...я не знаю...

Так точно так же smile.gif
Только вместо элемента массива нужно произвести чтение из файла в переменную, и ее уже сравнивать с 0, 1 и 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);

Но все равно я не могу понять, что такое "убрать по одному граничному значению".
И еще: в первом сообщении ты писал про текстовые файла, а во втором - про типизированные. Это не ошибка?
Lyorri
mega_chok.gif ......Препод мне продиктовал (Обрабатывать массив и файл из текстового файла). Но потом добавил,что работать с типизированным.... wacko.gif Не понимаю
Lyorri
Это курсовая работа. Может быть надо массив завести в программе в текстовый файл, а затем эту информацию переписать в типизированный и там уже работать... wacko.gif
Lapp
Если есть противоречия в условиях, то либо делай так, как написано (а не сказано или пробормотано), либо пойди и спроси у препа напрямую.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.