Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2014, 21:23   #1
НужнаПомощь
 
Регистрация: 27.03.2014
Сообщений: 9
По умолчанию Паскаль. Заполнить файл случайными целыми числами. Определить, сколько различных компонентов находится в файле.

Заполнить файл целыми числами, полученными с помощью генератора случайных чисел. Определить, сколько различных компонентов находится в файле.
НужнаПомощь вне форума Ответить с цитированием
Старый 28.03.2014, 06:32   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Не вижу проблемы. Что сделано?
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 03.04.2014, 19:26   #3
НужнаПомощь
 
Регистрация: 27.03.2014
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Vanta11a Посмотреть сообщение
Не вижу проблемы. Что сделано?

Var
i,k,m,n:integer;
f:file of integer;
begin
randomize;
Assign(F,'MyFile1.dat');
writeln('Введите количество целых чисел');
readln(n);
For i:=1 to n do
write(f, random(10));
close(f); {всё. файл создан}

{выдадим содержимое файла на экран}
Reset(f); {открыть файл}
Write('содержимое файла: ');
for i:=1 to FileSize(f) do begin
Read(f, k);
Write(k:2,' ');
end;
Close(f); {закрыли файл}




не знаю, но может начало такое???
НужнаПомощь вне форума Ответить с цитированием
Старый 03.04.2014, 20:57   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Для меня не очевидна версия Паскаля.
Если это типа ТР7.0 или FPC, то следует писАть в файл процедурой
Writeln(), а читать - процедурой Readln().
Если диапазон генерируемых целых чисел определен и не велик, как например в примере random(10), то можно читать числа из файла и использовать их как индекс в массиве.
В этом случае в элементе массива можно подсчитывать кол-во одинаковых чисел простым инкрементом. После просмотра массива можно получить информацию о количестве разных чисел.
Внимание, если в генерации есть нули, то массив, перед использованием, следует заполнить некоторым отрицательным/положительным значением, что позволит определить элементы массива в которых подсчет не велся (в массиве целых чисел такие значения отсутствуют).
В другом случае, когда число генерируемых чисел не велико, можно прочитать числа из файла в массив и отсортировать их. Затем выполнить подсчет отличающихся чисел.
В худшем случае придется делать сортировку через файлы.

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 04.04.2014, 21:18   #5
НужнаПомощь
 
Регистрация: 27.03.2014
Сообщений: 9
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Для меня не очевидна версия Паскаля.
Если это типа ТР7.0 или FPC, то следует писАть в файл процедурой
Writeln(), а читать - процедурой Readln().
Если диапазон генерируемых целых чисел определен и не велик, как например в примере random(10), то можно читать числа из файла и использовать их как индекс в массиве.
В этом случае в элементе массива можно подсчитывать кол-во одинаковых чисел простым инкрементом. После просмотра массива можно получить информацию о количестве разных чисел.
Внимание, если в генерации есть нули, то массив, перед использованием, следует заполнить некоторым отрицательным/положительным значением, что позволит определить элементы массива в которых подсчет не велся (в массиве целых чисел такие значения отсутствуют).
В другом случае, когда число генерируемых чисел не велико, можно прочитать числа из файла в массив и отсортировать их. Затем выполнить подсчет отличающихся чисел.
В худшем случае придется делать сортировку через файлы.

Как-то так, ...

Не могли бы вы схематически кинуть программу, скидает так сказать
НужнаПомощь вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать двумерный массив, заполнить случайными числами, сохранить в файл buba Паскаль, Turbo Pascal, PascalABC.NET 7 17.03.2015 20:08
Заполнить типизированный файл целыми числами, увеличить вдвое компоненты файла, стоящие после максимального (turbo pascal) Irishka_F Помощь студентам 3 30.01.2012 23:36
QBasic: Массив x(20) заполнить целыми случайными числами (1-100)... ski11 Помощь студентам 8 14.02.2010 14:08
заполнить файл целыми числами из отрезка [—100; 100] с помощью датчика случайных чисел. ALEX-7-7-7 Паскаль, Turbo Pascal, PascalABC.NET 4 05.04.2009 14:51