IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Работа с файлами, внешними модулями., Помогите в создании программы или хотя бы подскажите алгоритм работы:
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Женский
Реальное имя: Света

Репутация: -  0  +


Задание: В файле хранится набор целых чисел. Найти первые три наибольшие по абсолютной величине числа н после каждого из них вставить нулевой элемент. Результат сохранить в новый файл. содержимое исходного и конечного файлов распечатать на экране. программа поиска наибольших чисел должна находиться в отдельном модуле. Использование массивов недопустимо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Вот набросок:

var
m1, m2, m3: integer; // Здесь будем хранить 3 максимума
...
m1 := -maxint; m2 := -maxint; m3 := -maxint;
// пока не конец файла
// читаем из файла очередное число X
if abs(X) > m1 then begin
m3 := m2; m2 := m1; m1 := X;
end
else
if abs(X) > m2 then begin
m3 := m2; m2 := X;
end
else
if abs(X) > m3 then m3 := X;
// конец цикла...


После этого в переменных m1, m2, m3 будут 3 наибольших по абс. величине значения. Второй проход по файлу, опять читаем число X, и сравниваем его с каждым из максимумов. Что-то вот такого типа:

  if (m1 <> -maxint) and (m1 = X) then begin
// Записываем во второй файл число X и ноль
end
else
if (m2 <> -maxint) and (m2 = X) then begin
// Записываем во второй файл число X и ноль
end
else
if (m3 <> -maxint) and (m3 = X) then begin
// Записываем во второй файл число X и ноль
end;

Дальше попробуй самостоятельно.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.05.2024 3:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name