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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2008, 15:27   #11
Umnik1
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Ламер_001 Посмотреть сообщение
ну как бы работать с числами сразу. допустим надо найти минимум то
Код:
read(file, min);
while (not eof(file))
begin
 read(file, x);
 if (x < min) then min := x;
end;
что то вроде этого
вот так я как раз и не хочу делать)
по идее 400 000 риал чисел вполне должны помещаться в памяти - это 1.6 метра...

может кто-нибудь написать как мне файл в динамический массив правильно переписать? а то че-то не получается..
Umnik1 вне форума Ответить с цитированием
Старый 25.11.2008, 15:30   #12
Ламер_001
Ну и что? :)
Форумчанин
 
Регистрация: 20.10.2008
Сообщений: 129
По умолчанию

http://programmersforum.ru/showpost....26&postcount=4
Учиться, учиться и еще раз учиться
Ламер_001 вне форума Ответить с цитированием
Старый 25.11.2008, 15:59   #13
Umnik1
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 23
По умолчанию

А как мне переписать файл в динамический массив (на паскале)?
Umnik1 вне форума Ответить с цитированием
Старый 25.11.2008, 16:37   #14
Ламер_001
Ну и что? :)
Форумчанин
 
Регистрация: 20.10.2008
Сообщений: 129
По умолчанию

Код:
  p:=nil;
 while(not eof(f))
   begin
     read(f, x);
     new(tt); 
     tt^.x := x; 
     tt^.next := p; 
     p := tt;
   end;
Учиться, учиться и еще раз учиться
Ламер_001 вне форума Ответить с цитированием
Старый 25.11.2008, 17:46   #15
Umnik1
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 23
По умолчанию

Я кое-как прочитал чертовы данные в динамический массив: (С использованием TFileStream)

var
f:TFileStream;
buf:real;
......................
----------------------------------

begin
f:=TFileStream.Create('filename',fm OpenRead);
..........................

-----------------------------------------------

kol:= round(f.Size/sizeof(buf));
for i:=0 to kol-1 do
begin
f.Read(buf,sizeof(buf));
SetLength(vec,i+1);
vec[i]:=buf;
end;
f.Free;
.........................

поместились)
Кстати может кто-нибудь подсказать как переписывать числа из файла в массив не по одному а по несколько? чтобы быстрее было, а то так уж совсем медленно
Umnik1 вне форума Ответить с цитированием
Старый 25.11.2008, 19:11   #16
Umnik1
Пользователь
 
Регистрация: 16.11.2008
Сообщений: 23
По умолчанию

Уже записал


Код:
  f:=TFileStream.Create('filename',fmOpenRead);  
  kol:= round(f.Size/sizeof(buf));
  SetLength(polar,kol);
  f.Read(polar[0],f.Size);
Надо обязательно вектор[0] писать, чтобы в этот динамический массив все нормально записалось

Последний раз редактировалось Umnik1; 25.11.2008 в 19:16.
Umnik1 вне форума Ответить с цитированием
Старый 25.11.2008, 19:22   #17
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Извините, не то написал и не туда)
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отрегулировать кол-во знаков после запятой, при выведении числа(delphi) photozaz Общие вопросы Delphi 11 10.02.2011 21:20
IBQuery как узнать кол-во записей? Yuran БД в Delphi 5 03.09.2010 23:11
ГСЧ с большим количеством нулей Frog25 Общие вопросы C/C++ 6 26.06.2008 18:22
поиск кратчайшей сортировки, с минимальным кол-вом перестановок sad8c Помощь студентам 9 14.12.2007 10:23