Логотип Автор24реферат
Задать вопрос
%
уникальность
не проверялась
Решение задач на тему:

Выполнить задания 3 4 5 6 оформив каждый пункт задания в виде шаблона функции

уникальность
не проверялась
Аа
4358 символов
Категория
Программирование
Решение задач
Выполнить задания 3 4 5 6 оформив каждый пункт задания в виде шаблона функции .pdf

Зарегистрируйся в 2 клика в Кампус и получи неограниченный доступ к материалам с подпиской Кампус+ 🔥

Условие

Выполнить задания 3, 4, 5, 6, оформив каждый пункт задания в виде шаблона функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается. Привести пример программ, использующих эти шаблоны для типов int, float и double.

Нужно полное решение этой работы?

Решение

Потяни, чтобы посмотреть
Код программы
function Eq<T>(a,b: T): boolean;
begin
Result := a = b;
end;
function NumberMaxElementArray<T>(A:array of T):integer;
where T: IComparable<T>;
var n,max_i:integer;
max:T;
begin
n:=Length(A);
max:=A[0];max_i:=0;
for var i:=1 to n-1 do
begin
var AA:=A[i];
if(AA.CompareTo(max)>0) then
begin
max_i:=i;
max:=AA;
end;
end;
result:=max_i+1;
end;
function ProductFirstBetweenSecondZero(A:array of double):double;
var first,second,n:integer;
begin
n:=Length(A);
var p:=1.0;first:=n;
for var i:=0 to n-1 do
if(A[i]=0) then
begin
first:=i;
break;
end;
second:=first;
for var i:=first+1 to n-1 do
if(A[i]<>0) then
p:=p*A[i]
else
begin
second:=i;
break;
end;
if(second>first) then result:=p
else result:=1;
end;
procedure ReplaceEvenNotEven<T>(var A:array of T);
var n:integer;
new_A:array of T;
begin
n:=Length(A);
SetLength(new_A,n);
var pp:=(n div 2)+(n mod 2);
for var i:=0 to pp-1 do
new_A[i]:=A[2*i];
for var i:=0 to (n div 2)-1 do
new_A[pp+i]:=A[2*i+1];
A:=new_A;
end;
function NumberEqualRowColMatrix<T>(var A:array of array of T):integer;
where T: IComparable<T>;
var n:integer;
begin
n:=Length(A);
var k:=-1;
for var i:=0 to n-1 do
begin
var exists:=true;
for var j:=0 to n-1 do
if(Not(Eq(A[i,j],A[j,i]))) then
begin
exists:=false;
break;
end;
if(exists) then
begin
k:=i;
break;
end;
end;
result:=k+1;
end;
function SumRowsWithNegativeElements(A: array of array of double):double;
var n,m:integer;
begin
n:=Length(A);m:=Length(A[0]);
var S:=0.0;
for var i:=0 to n-1 do
begin
var ss:=0.0;
var exists:=false;
for var j:=0 to m-1 do
begin
ss:=ss+A[i,j];
exists:=exists or (A[i,j]<0);
end;
if(exists) then S:=S+ss;
end;
result:=S;
end;
function WordsCountNotHigher4Symbols(F:TextFile):integer;
begin
var str:='';
var count:=0;
reset(F);
while(Not(F.Eof())) do
begin
read(F,str);
var S:=str.Split(' ');
var n:=S.Length;
for var i:=0 to n-1 do
if(S[i].Length<=4) then
begin
count:=count+1;
//writeln(S[i]);
end;
end;
result:=count;
F.Close;
end;
type
TRAIN=record
destination:string;
number:integer;
hh,mm:integer;
constructor Create(dest:string; number_,h,m:integer);
begin
destination:=dest;number:=number_;hh:=h;mm:=m;
end;
procedure Show;
begin
writeln(number,chr(9),destination,chr(9), hh,':',mm);
end;
end;

procedure InputTrains(var A:array of TRAIN; count:integer);
begin
SetLength(A,count);
for var i:=0 to count-1 do
begin
writeln('Запись ',i+1,':');
write('Введите пункт назаначения: ');
var dest:='';
read(dest);
var numb:=0;
while(numb<=0) do
begin
write('Введите номер поезда: ');
try
readln(numb);
except
numb:=0;
end;
end;

var hh:=-1;var mm:=-1;
while((hh<0) or (mm<0)) do
begin
write('Введите время отправления: ');
try
readln(hh,mm);
hh:=hh mod 24;mm:=mm mod 60;
except
mm:=-1;hh:=-1
end;
end;

A[i]:=Train.Create(dest,numb,hh,mm);
end;
end;
procedure ShowTrainsAfterLastTime( A:array of TRAIN; hh,mm:integer);
begin
writeln('Номер',chr(9),'Назначение',chr(9),'Время');
var n:=A.Length;
var exists:=false;
for var i:=0 to n-1 do
if((A[i].hh*100+A[i].mm)>=(hh*100+mm)) then
begin
A[i].show;exists:=true;
end;
if(not(Exists)) then writeln('Нет таких.');
end;

var
A: array of array of double := ((1,2,-3),(2,-5,11.8),(4,6,8));
B: array of Train;
C: array of double := (1,2,-3,2,-5,11.8,4,6,8);
D: array of integer := (1,2,-3,2,-5,11,4,60,8);
F:TextFile;
begin
writeln(NumberMaxElementArray(C));
writeln(NumberMaxElementArray(D));
end.
Тестирование:
50% задачи недоступно для прочтения
Переходи в Кампус, регистрируйся и получай полное решение
Получить задачу
Больше решений задач по программированию:

Найти набор весовых значений сети Хопфилда для образца

155 символов
Программирование
Решение задач

Определение широковещательного IP-адреса для Подсети 3

714 символов
Программирование
Решение задач

Дано − IP-адрес 133 24 199 229 − Маска подсети

1965 символов
Программирование
Решение задач
Все Решенные задачи по программированию
Закажи решение задач

Наш проект является банком работ по всем школьным и студенческим предметам. Если вы не хотите тратить время на написание работ по ненужным предметам или ищете шаблон для своей работы — он есть у нас.