Имеются два 2ух мерных массива целых чисел размера n . создать из них один одномерный массив , в котором с начала идут отрицательные потом нулевые потом положительные числа
const n=4; begin Writeln('1 массив:'); var a:=MatrRandom(n,n,-10,10); a.Println(6); Writeln('2 массив:'); var b:=MatrRandom(n,n,-10,10); b.Println(6); var c:=a.ElementsByRow.Where(x->x<0)+b.ElementsByRow.Where(x->x<0)+ a.ElementsByRow.Where(x->x=0)+b.ElementsByRow.Where(x->x=0)+ a.ElementsByRow.Where(x->x>0)+b.ElementsByRow.Where(x->x>0); c.Println; end.
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); var a:=MatrRandom(n,n,-20,20); a.Println(4); Writeln(4*n*'-'); var b:=MatrRandom(n,n,-20,20); b.Println(4); Writeln(4*n*'-'); var c:=(a.ElementsByRow+b.ElementsByRow).OrderBy(t->t).ToArray; c.Println end.
const n=4;
begin
Writeln('1 массив:');
var a:=MatrRandom(n,n,-10,10); a.Println(6);
Writeln('2 массив:');
var b:=MatrRandom(n,n,-10,10); b.Println(6);
var c:=a.ElementsByRow.Where(x->x<0)+b.ElementsByRow.Where(x->x<0)+
a.ElementsByRow.Where(x->x=0)+b.ElementsByRow.Where(x->x=0)+
a.ElementsByRow.Where(x->x>0)+b.ElementsByRow.Where(x->x>0);
c.Println;
end.
Пример:
1 массив:
-6 -3 1 8
6 -3 -8 0
8 10 -3 -9
1 -9 -2 6
2 массив:
-7 -1 -3 9
-2 -6 5 2
0 10 1 0
5 -2 5 5
-6 -3 -3 -8 -3 -9 -9 -2 -7 -1 -3 -2 -6 -2 0 0 0 1 8 6 8 10 1 6 9 5 2 10 1 5 5 5
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=MatrRandom(n,n,-20,20);
a.Println(4); Writeln(4*n*'-');
var b:=MatrRandom(n,n,-20,20);
b.Println(4); Writeln(4*n*'-');
var c:=(a.ElementsByRow+b.ElementsByRow).OrderBy(t->t).ToArray;
c.Println
end.