Вариант 2 1. Тестирование. 2. Задача 1. Сформировать одномерный массив, элементы которого рассчитываются по формуле a[i] = cos(i+n/2). Вычислить: номер последнего максимального по модулю элемента массива (оформить как метод-функцию); сумму элементов массива, расположенных после первого положительног элемента (оформить как метод-функцию); с#
begin
var s:=ReadLines('in.txt').ToArray;
var n:=StrToInt(s[0]);
var a:=s[1].ToWords.Select(e->StrToInt(e)).ToArray;
var f:=OpenWrite('out.txt');
Writeln(f,n,' - (кол-во чисел)');
foreach var e in a do Write(f,e,' '); Writeln(f);
Writeln(f,'Среднее значение четных ',
a.Where(x->x.IsEven).Average);
Writeln(f,'Среднее значение нечетных ',
a.Where(x->x.IsOdd).Average);
f.Close
end.
Файлы in.txt и out.txt находятся во вложении.
Содержимое файла out.txt:
15 - (кол-во чисел)
-22 49 33 47 -10 -1 20 -18 2 21 2 -25 21 -47 -36
Среднее значение четных -8.85714285714286
Среднее значение нечетных 12.25
var
i,j,j0: integer;
a:array[1..m,1..n] of integer;
jExit,iExit:Boolean;
begin
Randomize;
for i:=1 to m do begin
writeln;
for j:=1 to n do begin
a[i,j]:=random(2);
write(a[i,j]:2)
end
end;
writeln;
j:=0; jExit:=false;
repeat
j:=j+1; i:=1; iExit:=false;
if a[i,j]=0 then begin
repeat
i:=i+1;
if a[i,j]<>0 then iExit:=true
until iExit or (i=m);
if i=m then jExit:=true
end
until jExit or (j=n);
if a[i,j]=0 then writeln('Нулевой столбец ',j)
else writeln('Нет нулевых столбцов');
end.
Тестовый пример:
0 1 1 1 1 0 1 0 1 0 0 0 0 0 1
0 0 1 0 1 0 0 0 1 1 0 0 0 0 0
1 1 0 0 0 1 0 1 1 1 1 1 0 1 1
1 1 1 0 1 0 1 0 0 1 0 1 0 1 0
Нулевой столбец 13