Дан двумерный массив размерностью 8x7, заполненный случайным образом. Сначала вывести

Дан двумерный массив размерностью 8x7, заполненный случайным образом. Поначалу вывести начальный массив, дальше:
- заменить все элементы первых 3-х столбцов на их квадраты.
- вставить меж средними строчками первую строку.
- удалить все столбцы, в которых 1-ый элемент больше заключительного.
- поменять местами первую и заключительную строчку.
Язык:Pascal
Помогите пожалуйста,завтра надо сдать.

Задать свой вопрос
1 ответ
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('*** Начальный массив 8x7 ***');
  var a:=MatrRandom(8,7,-99,99);
  a.Println(5); Writeln(5*a.ColCount*'-'); // исходный массив
  // поменять все элементы первых 3-х столбцов на их квадраты
  for var i:=0 to 2 do
    a.SetCol(i,a.Col(i).Select(x-gt;x*x).ToArray);
  Writeln('*** После подмены в 3х первых столбцах ***');  
  a.Println(5); Writeln(5*a.ColCount*'-');
  // воткнуть меж средними строчками первую строчку
  SetLength(a,9,7);
  for var i:=7 downto 4 do
    a.SetRow(i+1,a.Row(i));
  a.SetRow(4,a.Row(0));
  Writeln('*** После вставки первой строки в середину ***');  
  a.Println(5); Writeln(5*a.ColCount*'-');
  // удалить все столбцы, в которых 1-й элемент больше заключительного
  var d:=0;
  for var i:=0 to 6 do
    if a[0,i]gt;a[8,i] then d+=1
    else
      if dgt;0 then a.SetCol(i-d,a.Col(i));
  SetLength(a,9,7-d);
  Writeln('*** После удаления столбцов ***');
  a.Println(5); Writeln(5*a.ColCount*'-');
  // поменять местами первую и заключительную строчку
  a.SwapRows(0,a.RowCount-1);
  Writeln('*** Результирующий массив ***');
  a.Println(5)
end.

Пример
*** Исходный массив 8x7 ***
  -42   10  -92  -23   51  -50   31
   62  -75   25  -37   87   -9   63
  -99   67   61  -19  -27   17  -96
  -45   -7   83  -34   33   35  -95
   29   86  -85  -94   43  -89   63
  -38   64  -93   55  -53  -56   98
  -34  -20   34   -2  -89   92   85
  -11   48  -75  -81  -38   73  -97
-----------------------------------
*** После подмены в 3х первых столбцах ***
 1764  100 8464  -23   51  -50   31
 3844 5625  625  -37   87   -9   63
 9801 4489 3721  -19  -27   17  -96
 2025   49 6889  -34   33   35  -95
  841 7396 7225  -94   43  -89   63
 1444 4096 8649   55  -53  -56   98
 1156  400 1156   -2  -89   92   85
  121 2304 5625  -81  -38   73  -97
-----------------------------------
*** После вставки первой строки в середину ***
 1764  100 8464  -23   51  -50   31
 3844 5625  625  -37   87   -9   63
 9801 4489 3721  -19  -27   17  -96
 2025   49 6889  -34   33   35  -95
 1764  100 8464  -23   51  -50   31
  841 7396 7225  -94   43  -89   63
 1444 4096 8649   55  -53  -56   98
 1156  400 1156   -2  -89   92   85
  121 2304 5625  -81  -38   73  -97
-----------------------------------
*** После удаления столбцов ***
  100  -50
 5625   -9
 4489   17
   49   35
  100  -50
 7396  -89
 4096  -56
  400   92
 2304   73
----------
*** Результирующий массив ***
 2304   73
 5625   -9
 4489   17
   49   35
  100  -50
 7396  -89
 4096  -56
  400   92
  100  -50
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт