Паскаль! Помогите пожалуйста! Дана матрица. Воткнуть в нее столбец из нулевых
Паскаль! Помогите пожалуйста! Дана матрица. Вставить в нее столбец из нулевых элементов после заключительного столбца, в котором количество четных частей меньше 5. Если таких столбцов нет - выдать подходящее извещенье.
Задать свой вопрос1 ответ
Алиса Тарьянык
// PascalABC.NET 3.3, сборка 1549 от 17.10.2017
// Внимание! Если программка не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Начальная матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (i,k):=(0,-1);
foreach var c in a.Cols do
if c.Where(e-gt;e.IsEven).Countlt;5 then k:=i
else i+=1;
if kgt;=0 then begin
Writeln('*** Матрица - результат [',n,',',m+1,'] ***');
SetLength(a,n,m+1);
for var c:=a.ColCount-1 downto k+1 do
a.SetCol(c,a.Col(c-1));
a.SetCol(k+1,ArrFill(a.RowCount,0));
a.Println(4)
end
else Writeln('Нет столбцов с количеством четных частей, наименьшим 5')
end.
Пример
Количество строк в матрице: 8
Количество столбцов в матрице: 6
*** Начальная матрица [8,6] ***
38 -44 50 20 -85 -92
15 -43 43 6 -80 63
76 2 -63 32 14 -37
-78 -30 94 -45 44 -25
-74 30 15 -56 -41 -88
72 -15 -74 38 -47 -76
11 -75 -2 70 35 65
-52 -42 9 94 59 -28
------------------------
*** Матрица - результат [8,7] ***
38 -44 50 20 0 -85 -92
15 -43 43 6 0 -80 63
76 2 -63 32 0 14 -37
-78 -30 94 -45 0 44 -25
-74 30 15 -56 0 -41 -88
72 -15 -74 38 0 -47 -76
11 -75 -2 70 0 35 65
-52 -42 9 94 0 59 -28
// Внимание! Если программка не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в матрице:');
var m:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Начальная матрица [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var (i,k):=(0,-1);
foreach var c in a.Cols do
if c.Where(e-gt;e.IsEven).Countlt;5 then k:=i
else i+=1;
if kgt;=0 then begin
Writeln('*** Матрица - результат [',n,',',m+1,'] ***');
SetLength(a,n,m+1);
for var c:=a.ColCount-1 downto k+1 do
a.SetCol(c,a.Col(c-1));
a.SetCol(k+1,ArrFill(a.RowCount,0));
a.Println(4)
end
else Writeln('Нет столбцов с количеством четных частей, наименьшим 5')
end.
Пример
Количество строк в матрице: 8
Количество столбцов в матрице: 6
*** Начальная матрица [8,6] ***
38 -44 50 20 -85 -92
15 -43 43 6 -80 63
76 2 -63 32 14 -37
-78 -30 94 -45 44 -25
-74 30 15 -56 -41 -88
72 -15 -74 38 -47 -76
11 -75 -2 70 35 65
-52 -42 9 94 59 -28
------------------------
*** Матрица - результат [8,7] ***
38 -44 50 20 0 -85 -92
15 -43 43 6 0 -80 63
76 2 -63 32 0 14 -37
-78 -30 94 -45 0 44 -25
-74 30 15 -56 0 -41 -88
72 -15 -74 38 0 -47 -76
11 -75 -2 70 0 35 65
-52 -42 9 94 0 59 -28
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов