Доброго времени суток!Подскажите, пожалуйста.
Надо
Создать текстовый файл, в который записать не менее 20 целых чисел в
диапазоне от -7 до 7. Вывести содержимое файла на экран. Найти
минимальное значение среди положительных и записать в другой текстовый
файл номер строки найденного элемента и сам элемент. Учесть ситуацию, когда
таких элементов несколько. Содержимое этого файла вывести на экран. Если
искомых данных нет, то в файл записать соответствующее сообщение.
не могу сделать чтоб находил номер строки найденного элемента и сам элемент и учесть ситуацию , когда таких элементов несколько.
Вот код программы
Delphi |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
| unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Memo1: TMemo;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
f:Textfile;
m:array[1..20] of integer;
i,j,min,c:integer;
s:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Button3.Enabled:=true;
Button4.Enabled:=true;
Button5.Enabled:=true;
randomize;
assignFile(f,'c:\17.txt');
rewrite(f);
writeln(f,'<< 17 лаба >>');
for i:=1 to 20 do
begin
m[i]:=random(14)-7;
writeln(f,m[i]:5);
end;
closefile(f);
showmessage('<< Создан фаил и массив >>');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
assignFile(f,'c:\17.txt');
reset(f);
while not eof(f) do begin
readln(f,s);
memo1.Lines.Add(s);
end;
closefile(f);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button3.Enabled:=false;
Button4.Enabled:=false;
Button5.Enabled:=false;
memo1.Enabled:=false;
memo2.Enabled:=false;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
q:TStringList;
i:integer;
begin
Assignfile(f,'c:\17.2.txt');
rewrite(f);
writeln(f,'<< 17.2 лаба >>');
closefile(f);
q:=TStringList.Create;
if not fileexists('c:\17.2.txt') then
exit;
q.LoadFromFile('c:\17.2.txt');
for i:=0 to memo1.Lines.Count-1 do
q.Add(memo2.Lines[i]);
q.SaveToFile('c:\17.2.txt');
q.Free;
showmessage('<< Файл записан >>');
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
c:=0;
for i:=1 to 10 do
min:=-1;
for i:=1 to 20 do
if(m[i]>0) then
if(min<>-1)then
begin
if (m[i]<min) then min:=m[i];
end
else min:=m[i];
if(min<>-1) then else
showmessage('<< Нету >>');
memo2.Text:=memo2.Text+floattostr(min);
end;
end. |
|
Вот так выгледит форма