![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 34
|
![]()
Написать программу, генерирующую случайным образом 30 чисел (от -100 до 100). Полученные числа записать в файл следующим образом: если число отрицательное – записать модуль числа, если число положительное - записать квадрат числа.
Я сделала так: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Memo1: TMemo; Memo2: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form1: TForm1; f:TextFile; mas1 ,mas2 : array [-100..100] of real; i:integer; implementation {$R *.dfm} procedure TForm1.FormActivate(Sender: TObject); var resp: word; //ответ пользователя begin AssignFile(f, 'd:\pos.txt'); {$I-} Reset (f); // открыть файл {$I+} if IOResult=0 then button2.Enabled:=true //кнопка добавить доступна else begin resp:=MessageDlg('Файл не найден'+'Создать новый файл',mtInformation, [mbYes, mbNo],0); if resp=mrYes then begin {$I-} rewrite(f); {$I+} if IOResult=0 then button2.Enabled:=true else ShowMessage('Ошибка создания файла'); end; end; end; procedure genslych;// генерация 1 последовательности var XX:real; begin for i:=1 to 30 do begin xx:=random(201)-100; mas1[i]:=random(201)-100; Form1.Memo1.Lines.Add(IntToStr(i)+' . '+FloatToStr(mas1[i])); end; end; procedure gen;// генерация 2 последовательности begin for i:=1 to 30 do begin if mas1[i]>=0 then mas2[i]:=mas1[i]*mas1[i] else mas2[i]:=abs(mas1[i]) ; end; for i:=1 to 30 do begin Form1.Memo2.Lines.Add(IntToStr(i)+' . '+FloatToStr(mas2[i])); end; end; procedure TForm1.Button1Click(Sender: TObject); begin genslych; gen; end; procedure TForm1.Button3Click(Sender: TObject); begin Form1.Close; end; procedure TForm1.Button2Click(Sender: TObject); begin {write (f, Memo2.Lines(FloatToStr(mas2[i]))); } Memo2.Lines.SaveToFile('d:\pos.txt' ); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin CloseFile(f); //закрыть файл end; end. Все генерирутеся, файл создается, а ничего не сохраняется. ![]() |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 17.09.2010
Сообщений: 229
|
![]() Код:
Правильно заданный вопрос - половина ответа!
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 21.05.2009
Сообщений: 34
|
![]()
Спасибо! Коротко и ясно.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 17.09.2010
Сообщений: 229
|
![]()
незачто. главное что бы вы понимали что тут происходит.
Правильно заданный вопрос - половина ответа!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Записать содержимое регистра в ячейку памяти | new player | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 01.09.2010 03:48 |
содержимое TStringList в Memo | OPF_Nik | Помощь студентам | 5 | 31.01.2010 17:22 |
записать содержимое Listview в файл | Leo20 | Общие вопросы Delphi | 0 | 26.11.2009 13:01 |
Записать содержимое буфера обмена в файл. | sw3n | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 17.07.2009 02:39 |
Как записать в переменную содержимое RichEdit? | nusik | Общие вопросы C/C++ | 1 | 12.06.2009 09:12 |