С# Вопрос 1.
1.
Требуется получить произведение целых чисел, отвечающих условию, из заданного диапазона элементов массива.
Создайте класс для вычисления произведения на основе следующего каркаса:
class ProdI1
{
public int[] A;
public int ib, ie, t, P;
public int prodI1()
{
P = …;
for (…)
P *= …;
return P;
}
}
Указание. Никаких других операторов не добавлять.
ib, ie – начальный и конечный индексы массива. Если значение ie превышает размер массива, то умножение производится до конца массива.
t – величина, на которую умножается все произведение.
Пример.
При А=(7, 12, 24),ib=1,ie=4 ,t=2 результат будет равен 2.
2.
Укажите что выведет программа
static void Main(string[] args)
{
Sum s = new Sum();
s.A = new int[]{ 7, 12, 24, 28, 21, 3 };
s.ib = 0;
s.ie = 6;
s.t = -1;
Console.WriteLine(s.sum());
}
если А=(7, 12, 24, 28, 21),ib=1,ie=4 ,t=-1
Free Pascal
var
a : array of array of integer;
b : array of integer;
s, i, j, n, m : integer;
begin
writeln('Введите кол-во строк:');
readln(m);
writeln('Введите кол-во столбцов:');
readln(n);
randomize;
setlength(a, n);
setlength(b, m);
for i:=0 to n-1 do
setlength(a[i], m);
for j:=0 to m-1 do begin
s:=0;
for i:=0 to n-1 do begin
a[i,j] := random(50) - 25;
if a[i,j] <0 then inc(s);
write(a[i, j], ' ');
end;
b[j]:=s;
writeln();
end;
writeln('--------------------------');
for j:=0 to m-1 do
writeln(j+1,' строка = ', b[j]);
end.
##
var h := MatrRandom(5, 5, -7, 7);
h.Println(4);
Print('Произведение положительных элементов первой строки массива равно',
h.Row(0).Where(t -> t > 0).Product)
------------------------
##
var h := MatrRandom(5, 5, -7, 7);
h.Println(4);
h.Transform((v, i, j) -> j.IsEven and (v < 0) ? 100 : v);
Println('Результат замены отрицательных элементов в нечетных столбцах');
h.Println(4)
---------------------
##
var h := MatrRandom(5, 5, -7, 7);
h.Println(4);
var a := h.ElementsWithIndices.Where(t -> t[2] > t[1]).Select(t -> t[0]).ToArray;
Println('Массив из элементов, стоящих над главной диагональю');
a.Print