Решить задачу с помощью процедуры soft_file

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

rafael
Сообщения: 10
Зарегистрирован: 07 дек 2007, 18:02

Хыиуду Понимаешь вот задание, (словами простого человека)
1. Используя готовую процедуру soft_file, составить программу сортировки текстовго файла, в возрастающем порядке по числу пробелов в строке. При этом надо Предусмотреть проверку существования исходного файла и переход на новую страницу, с формированием номера страницы. Длина страницы сосотовляет 50 строк. Как я понимаю надо: 1. Составить программу сортировки текстовго файла, готовой процедурой sort_file,в возрастающем порядке по числу пробелов в строке. Вот так я понимаю.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

короче, сделаем так

Код: Выделить всё

function spaces_count(s:string);
var i:byte; count:byte;
begin
  for i:=1 to length(s) do
   if s[i]=' ' then inc(count);
  spaces_count:=count;
end;
А потом с этой функцией сортировать массив строк. Раздел "Алгоритмы", тема "Упорядочивание массива". Считали из файла 50 строк, упорядочили, вывели. Все остальное пока считаю от лукавого
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
rafael
Сообщения: 10
Зарегистрирован: 07 дек 2007, 18:02

Я посмотрел, прочитал и ничё не понял))) http://forum.developing.ru/showthread.php?t=10415 можешь объяснить что куда подставлять?
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

for i:=1 to N do
for j:=1 to N-i do
if func(a[j])>func(a[j+1]) then
begin
temp:=a[j];
a[j]:=a[j+1];
a[j+1]=temp;
end;

Вот этот код и пихать без изменений. А объявить как массив строк, temp - как строку. Функция func должна иметь 1 параметр - строку, и возвращать количество пробелов в этой строке. Ее, думаю, сам сможешь написать
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
rafael
Сообщения: 10
Зарегистрирован: 07 дек 2007, 18:02

а я так не думаю))) я в программирование знаю что после каждой строчки надо ставить ; и сколько begin столько и end. :) :)
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

а я так не думаю))) я в программирование знаю что после каждой строчки надо ставить ; и сколько begin столько и end.
Браво! Рассмешил на весь оставшийся день! С философией твоей, о падаван юный, никогда использовать ты параметрические циклы научишься не, и будет case оператор и record тип неподвластны тебе!

Кстати, вот программа, которая полностью удовлетворяет твоим принципам:

Код: Выделить всё

begin end.;
Компилируется, работает
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
rafael
Сообщения: 10
Зарегистрирован: 07 дек 2007, 18:02

тебе смешно))) а мне эту задачу в среду сдавать((
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Повторяю еще раз: тот код, который я привел, пихать без изменений. Функцию, нужную тебе, я, как выяснилось, написал несколькими постами раньше. А уж переменные как-нибудь сам объявишь.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить