Не понимаю почему при выводе максимального элемента и номера максимального элемента массива b выводит нули вместо положенного значения (Прикрепляю код ниже)
static void maxx(int[,] x, ref int xmax, ref int imax)
{
xmax = x[0, 0];
imax = 0;
for (int i = 0; i < x.GetLength(0); i++)
for (int j = 0; j < x.GetLength(1); j++)
{
if (x[i, j] > xmax)
{
xmax = x[i, j];
imax = j;
}
}
Console.Write(xmax + " ");
xmax = 0;
Console.WriteLine(imax);
}
static void maxx1(int[,] p, ref int pmax, ref int lmax)
{
pmax = p[0, 0];
lmax = 0;
for (int z = 0; z < p.GetLength(0); z++)
for (int l = 0; l < p.GetLength(1); l++)
{
if(p[z, l] > lmax)
{
pmax = p[z, l];
lmax = l;
}
Console.Write(pmax + " ");
pmax = 0;
Console.WriteLine(lmax);
}
}
static void Main(string[] args)
{
int[,] a = new int[5, 4];
Random r = new Random();
for (int i = 0; i < a.GetLength(0); i++)
{
for (int j = 0; j < a.GetLength(1); j++)
{
a[i, j] = r.Next(-100, 100);
Console.Write(a[i, j] + "\t");
}
Console.WriteLine();
}
int amax = 0, iamax = 0;
maxx(a, ref amax, ref iamax);
Console.WriteLine();
int[,] b = new int[5, 4];
Random k = new Random();
for (int i1 = 0; i1 < b.GetLength(0); i1++)
{
for (int j1 = 0; j1 < b.GetLength(1); j1++)
{
a[i1, j1] = r.Next(-100, 100);
Console.Write(a[i1, j1] + "\t");
}
Console.WriteLine();
}
int bmax = 0, ibmax = 0;
maxx1(b, ref bmax, ref ibmax);
}
const
n=5;
type
Matrix=array[1..n,1..n] of integer;
procedure DummySchool(var a:Matrix);
begin
Writeln('Ввод элементов матрицы');
for var i:=1 to n do begin
Write(n,' элементов строки ',i,': ');
for var j:=1 to n do Read(a[i,j]);
end;
Writeln('Сформирована матрица ',n,'x',n);
for var i:=1 to n do begin
for var j:=1 to n do Write(a[i,j]:5);
Writeln
end
end;
begin
var B:Matrix;
DummySchool(B);
var sn:=0;
var sp:=0;
for var i:=1 to n do
for var j:=1 to n do
if B[i,j]<0 then sn+=B[i,j]
else
if B[i,j]>0 then sp+=B[i,j];
Writeln('Сумма отрицательных ',sn);
Writeln('Сумма положительных ',sp)
end.
Тестовое решение:
Ввод элементов матрицы
5 элементов строки 1: 6 23 -5 13 9
5 элементов строки 2: 42 0 -38 16 37
5 элементов строки 3: -5 -18 3 11 8
5 элементов строки 4: 9 13 -11 0 3
5 элементов строки 5: 19 -17 0 15 5
Сформирована матрица 5x5
6 23 -5 13 9
42 0 -38 16 37
-5 -18 3 11 8
9 13 -11 0 3
19 -17 0 15 5
Сумма отрицательных -94
Сумма положительных 232
2. из математики
1) чтобы сложить два числа с разными знаками нужно из большего слагаемого вычесть меньшее, и поставить тот знак который больше
примеры: -2+6=3
2)чтобы вычесть два числа с разными знаками нужно сложить их и поставить знак минус
-6-8=-14
из русского языка
1)Глаголы совершенного вида указывают на завершенность действия, его результат, конец действия или его начало. В неопределенной форме они отвечают на вопрос что сделать?.
Например: добежать, купить, зазвенеть, построить, запеть.
В изъявительном наклонении глаголы обозначают действия, которые реально происходят, происходили или будут происходить:
пишу, писал, написал, буду писать, напишу.