// Массив из "a" заполнил псевдорандомными числами от 0 до 3 для наглядности
using System;
namespace ConsoleApp1
{
internal class Program
private static void Main()
const int numsCount = 24;
const int resCount = 10;
double[] nums = new double[numsCount];
double[] res = new double[resCount];
var rand = new Random();
for (int i = 0; i < numsCount; i++)
nums[i] = rand.Next(0, 4);
Console.WriteLine($"a[{i}] = {nums[i]}");
}
Console.WriteLine();
for (int i = 1; i <= resCount; i++)
double sum = 0;
for (int j = 0; j < numsCount; j++)
sum += Math.Pow(nums[j], i);
res[i - 1] = sum;
Console.WriteLine($"b[{i - 1}] = {sum}");
Console.ReadLine();
procedure SortFirstColAsc(p:array[,] of integer);
begin
var c:=p.Col(0).OrderBy(x->x).ToArray;
for var i:=0 to p.RowCount-1 do p[i,0]:=c[i]
end;
procedure SortLastColDesc(p:array[,] of integer);
var j:=p.ColCount-1;
var c:=p.Col(j).OrderByDescending(x->x).ToArray;
for var i:=0 to p.RowCount-1 do p[i,j]:=c[i]
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Сортировка по первой колонке');
SortFirstColAsc(a);
Writeln('Сортировка по последней колонке');
SortLastColDesc(a);
a.Println(4)
end.
Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 7
*** Исходная матрица [4,7] ***
-12 60 18 -46 10 4 26
32 -73 -2 -88 -70 -46 -17
-18 94 -41 9 -11 32 94
32 -18 1 -71 -96 -77 46
Сортировка по первой колонке
-18 60 18 -46 10 4 26
-12 -73 -2 -88 -70 -46 -17
32 94 -41 9 -11 32 94
Сортировка по последней колонке
-18 60 18 -46 10 4 94
-12 -73 -2 -88 -70 -46 46
32 94 -41 9 -11 32 26
32 -18 1 -71 -96 -77 -17
Объяснение:
так?
// Массив из "a" заполнил псевдорандомными числами от 0 до 3 для наглядности
using System;
namespace ConsoleApp1
{
internal class Program
{
private static void Main()
{
const int numsCount = 24;
const int resCount = 10;
double[] nums = new double[numsCount];
double[] res = new double[resCount];
var rand = new Random();
for (int i = 0; i < numsCount; i++)
{
nums[i] = rand.Next(0, 4);
Console.WriteLine($"a[{i}] = {nums[i]}");
}
Console.WriteLine();
for (int i = 1; i <= resCount; i++)
{
double sum = 0;
for (int j = 0; j < numsCount; j++)
sum += Math.Pow(nums[j], i);
res[i - 1] = sum;
Console.WriteLine($"b[{i - 1}] = {sum}");
}
Console.ReadLine();
}
}
}
procedure SortFirstColAsc(p:array[,] of integer);
begin
var c:=p.Col(0).OrderBy(x->x).ToArray;
for var i:=0 to p.RowCount-1 do p[i,0]:=c[i]
end;
procedure SortLastColDesc(p:array[,] of integer);
begin
var j:=p.ColCount-1;
var c:=p.Col(j).OrderByDescending(x->x).ToArray;
for var i:=0 to p.RowCount-1 do p[i,j]:=c[i]
end;
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Сортировка по первой колонке');
SortFirstColAsc(a);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Сортировка по последней колонке');
SortLastColDesc(a);
a.Println(4)
end.
Пример
Количество строк в матрице: 4
Количество столбцов в матрице: 7
*** Исходная матрица [4,7] ***
-12 60 18 -46 10 4 26
32 -73 -2 -88 -70 -46 -17
-18 94 -41 9 -11 32 94
32 -18 1 -71 -96 -77 46
Сортировка по первой колонке
-18 60 18 -46 10 4 26
-12 -73 -2 -88 -70 -46 -17
32 94 -41 9 -11 32 94
32 -18 1 -71 -96 -77 46
Сортировка по последней колонке
-18 60 18 -46 10 4 94
-12 -73 -2 -88 -70 -46 46
32 94 -41 9 -11 32 26
32 -18 1 -71 -96 -77 -17
Объяснение:
так?