Не сказала бы, что это решение сильно отличается от уже имеющегося, но
а) оно совсем немножко удобнее (хотя бы из-за ClrScr и вывода ответа с определённым количеством знаков после запятой). А ещё предусмотрена возможность отсутствия таковых чисел.
б)ну не могла я пропустить задачу по паскалю)
Program n1; Uses CRT; Const n=10; Var a: array[1..n] of integer; i,s,k: integer; begin ClrScr; Randomize; For i:=1 to n do begin a[i]:=random(10); write(a[i]:3); If a[i]=i then begin s:=s+a[i]; writeln('s=',s); k:=k+1; end; end; writeln; If k=0 then writeln('таких элементов нет') else Writeln('Среднее арифметическое элементов массива, равных своим индексам, равно ',s/k:4:4); readln end.
Насколько я знаю в любой сборке Delphi есть компонент "Application Events", у которго есть соответствующее событие "OnShortCut", так вот разместите на форме данный компонент (в 7 версии Delphi он должен лежать во вкладке "Additional") и запишите в его свостве OnShortCut следующее:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean); begin If Msg.CharCode = Ord('G') then Form1.Close; end;
Ord('G') - функция возвращающая код символа, в её параметр записывайте непосредственно тот символ, по нажатию которого должна прекратить работу ваша программа.
Не сказала бы, что это решение сильно отличается от уже имеющегося, но
а) оно совсем немножко удобнее (хотя бы из-за ClrScr и вывода ответа с определённым количеством знаков после запятой). А ещё предусмотрена возможность отсутствия таковых чисел.
б)ну не могла я пропустить задачу по паскалю)
Program n1;
Uses CRT;
Const n=10;
Var a: array[1..n] of integer;
i,s,k: integer;
begin
ClrScr;
Randomize;
For i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:3);
If a[i]=i then
begin
s:=s+a[i];
writeln('s=',s);
k:=k+1;
end;
end;
writeln;
If k=0 then writeln('таких элементов нет') else
Writeln('Среднее арифметическое элементов массива, равных своим индексам, равно ',s/k:4:4);
readln
end.
Насколько я знаю в любой сборке Delphi есть компонент "Application Events", у которго есть соответствующее событие "OnShortCut", так вот разместите на форме данный компонент (в 7 версии Delphi он должен лежать во вкладке "Additional") и запишите в его свостве OnShortCut следующее:
procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
begin
If Msg.CharCode = Ord('G') then
Form1.Close;
end;
Ord('G') - функция возвращающая код символа, в её параметр записывайте непосредственно тот символ, по нажатию которого должна прекратить работу ваша программа.