Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.12.2007, 00:29
Vitek220 Vitek220 вне форума
Заблокирован
 
Регистрация: 03.12.2007
Сообщения: 22
Репутация: 5
Сообщение Типизированные файлы целых чисел

Записать в файл f N целых чисел, полученных с помощью генератора случайных чисел. Заполнить файл G числами, которые являются произведениями соседних компонентов файла f
Ответить с цитированием
  #2  
Старый 14.12.2007, 04:05
Rosenkrantz Rosenkrantz вне форума
Активный
 
Регистрация: 04.12.2007
Адрес: Москва
Сообщения: 234
Версия Delphi: Delphi 7
Репутация: 40
По умолчанию

Код:
program FileOfInteger;

{$APPTYPE CONSOLE}

uses
  Windows, SysUtils;

const
  DATA_FILE_NAME = 'datafile.int';
  MULT_FILE_NAME = 'multfile.int';

//------------------------------------------------------------------------------
// Вывод на экран строки
//------------------------------------------------------------------------------
procedure WriteStr(S: String);
var
  Dst: Array [0..255] Of Char;
begin
  AnsiToOem(PChar(S), Dst);
  Writeln(Dst);
end;

//------------------------------------------------------------------------------
// Форматирование значения для вывода на экран
//------------------------------------------------------------------------------
function FmtVal(X:Integer): String;
begin
  Result := Format('%6d', [X]);
end;

var
  NumCount : Integer;
  F1, F2   : File of Integer;
  X, Y     : Integer;
  i        : Integer;
begin
  WriteStr('Введите число элементов (0 - выход):');
  Readln(NumCount);
  if NumCount = 0 then Halt;

  Randomize;

  // Записываем числа в файл ---------------------------------------------------
  // Открыть файл для записи
  Writeln;
  WriteStr('Генерация и запись в файл:');
  AssignFile(F1, DATA_FILE_NAME);
  Rewrite(F1);
  // Сгенерировать и записать числа
  for i := 0 to NumCount - 1 do begin
    X := Random(10);    // Сгенерировать
    Writeln(FmtVal(X)); // Показать число на экране

    Write(F1, X);       // Записать в файл
  end;
  // Закрыть файл
  CloseFile(F1);

  Writeln;
  WriteStr('Суммирование и запись в файл:');

  // Читаем числа из получившегося файла, перемножаем и пишем в другой ---------
  // Открываем первый файл на чтение, второй на запись
  AssignFile(F1, DATA_FILE_NAME);
  Reset(F1);
  AssignFile(F2, MULT_FILE_NAME);
  Rewrite(F2);
  Read(F1, X);          // Прочитать первое число
  for i := 1 to NumCount - 1 do begin
    Read(F1, Y);        // Прочитать следующее число
    Write(FmtVal(X) + ' * ' + FmtVal(Y) + ' = ');

    X := X * Y;         // Перемножить
    Writeln(FmtVal(X)); // Отобразить произведение на экране

    Write(F2, X);       // Записать произведение в файл

    X := Y;             // Сохраняем число для следующего шага
  end;
  // Закрыть файлы
  CloseFile(F1);
  CloseFile(F2);

  Writeln;
  WriteStr('Нажмите Enter.');
  Readln;
end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:49.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025