Если правильно поняла суть вашей программы, то нужно вводить количество элементов массива с клавиатуры (массив заполняется рэндомно от -10 до 10) и вывести элементы больше 0 . Вас в цикле for зачем-то понесло на второе условие if(a[r+1]<0) это неверно, цикл сам переберет все значения. Примерный код:
Const n=5; var a:array[1..n,1..n] of integer; b:array[1..n] of integer; i,j,max,min,s:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(21); write(a[i,j]:4); end; writeln; end; max:=a[1,n]; for i:=2 to n do if a[i,n-i+1]>max then max:=a[i,n-i+1]; writeln('1. max = ',max); for i:=1 to n do begin min:=a[i,1]; for j:=2 to n do if a[i,j]<min then min:=a[i,j]; b[i]:=min; end; s:=0; writeln('2. Массив B'); for i:=1 to n do begin write(b[i]:4); s:=s+b[i]; end; writeln; writeln('3. среднее = ',s/n); for i:=1 to n do if b[i]>s/n then write(b[i]:4); writeln; end.
Если правильно поняла суть вашей программы, то нужно вводить количество элементов массива с клавиатуры (массив заполняется рэндомно от -10 до 10) и вывести элементы больше 0 . Вас в цикле for зачем-то понесло на второе условие if(a[r+1]<0) это неверно, цикл сам переберет все значения. Примерный код:
static void znaki(int[] a)
{
//Массив до изменений этот код можно удалить
//Выводит весь массив со всеми значениями
for (int i = 0; i < a.Length; i++)
{
Console.Write(a[i]+" ");
}
Console.WriteLine();
//
for (int r = 0; r < a.Length-1; r++)
{
if (a[r] >= 0)
{
if (a[r + 1] <= 0)
{
Console.WriteLine("Пара: "+a[r]+" " +a[r+1]);
}
}
if (a[r] <= 0)
{
if (a[r + 1] >= 0)
{
Console.WriteLine("Пара: " + a[r] +" " + a[r + 1]);
}
}
}
}
static void Main(string[] args)
{
Console.WriteLine("введите количество элементов в массиве:");
int n = Convert.ToInt32(Console.ReadLine());
int[] a = new int[n];
Random rand = new Random();
for (int i = 0; i < a.Length; i++)
{
a[i] = rand.Next(-10,10);
}
znaki(a);
Console.ReadLine();
}
var
a:array[1..n,1..n] of integer;
b:array[1..n] of integer;
i,j,max,min,s:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(21);
write(a[i,j]:4);
end;
writeln;
end;
max:=a[1,n];
for i:=2 to n do
if a[i,n-i+1]>max then max:=a[i,n-i+1];
writeln('1. max = ',max);
for i:=1 to n do
begin
min:=a[i,1];
for j:=2 to n do
if a[i,j]<min then min:=a[i,j];
b[i]:=min;
end;
s:=0;
writeln('2. Массив B');
for i:=1 to n do
begin
write(b[i]:4);
s:=s+b[i];
end;
writeln;
writeln('3. среднее = ',s/n);
for i:=1 to n do
if b[i]>s/n then write(b[i]:4);
writeln;
end.
Пример:
Исходный массив:
10 19 15 17 10
12 12 10 1 5
17 8 8 14 15
12 11 8 0 13
2 2 4 10 6
1. max = 11
2. Массив B
10 1 8 0 2
3. среднее = 4.2
10 8