Другие языки программирования и технологии
«Двумерные массивы» Дана квадратная матрица порядка M. Обнулить элементы матрицы, лежащие на побочной диагонали и ниже
написал в личку :)
program project1;
var
m,//размер матрицы
col,//кол-во столбцов
row,//кол-во строк
k,//счетчик для инициализации нач. значений элементов матрицы
min_col://минимальный индекс столбца матрицы
Integer;
A: array of array of Integer; //матрица
//процедура вывода матрицы на экран
procedure Print();
begin
Writeln();
for row := 0 to m - 1 do
begin
for col := 0 to m - 1 do
begin
if col = m - 1 then
Write(A[row, col], #10#13)
else
Write(A[row, col], #9)
end;
end;
Writeln();
end;
//начало кода
begin
Write('Enter m: ');
Readln(m); //получение размера матрицы
SetLength(A, m, m); // выделение памяти для матрицы
k := 1; //инциализация значения первого элемента
//заполнение матрицы
for row := 0 to m - 1 do
begin
for col := 0 to m - 1 do
begin
A[row, col] := k;
Inc(k);
end;
end;
//вывод матрицы на экран
Write(#10#13, 'Source matrix:');
Print;
//ключевой код задачи/////////
min_col := 0;
row := m - 1;
col := m - 1;
while row > 0 do
begin
if col < min_col then
begin
Dec(row);
Inc(min_col);
col := m - 1;
end;
A[row, col] := 0;
Dec(Col);
end;
/////////////////////////
//вывод на экран модифицированной матрицы
Write(#10#13, 'Modified matrix:');
Print;
//освобождение памяти выделенной под матрицу
A := nil;
Write('Press Enter for exit...');
Readln();
end.
var
m,//размер матрицы
col,//кол-во столбцов
row,//кол-во строк
k,//счетчик для инициализации нач. значений элементов матрицы
min_col://минимальный индекс столбца матрицы
Integer;
A: array of array of Integer; //матрица
//процедура вывода матрицы на экран
procedure Print();
begin
Writeln();
for row := 0 to m - 1 do
begin
for col := 0 to m - 1 do
begin
if col = m - 1 then
Write(A[row, col], #10#13)
else
Write(A[row, col], #9)
end;
end;
Writeln();
end;
//начало кода
begin
Write('Enter m: ');
Readln(m); //получение размера матрицы
SetLength(A, m, m); // выделение памяти для матрицы
k := 1; //инциализация значения первого элемента
//заполнение матрицы
for row := 0 to m - 1 do
begin
for col := 0 to m - 1 do
begin
A[row, col] := k;
Inc(k);
end;
end;
//вывод матрицы на экран
Write(#10#13, 'Source matrix:');
Print;
//ключевой код задачи/////////
min_col := 0;
row := m - 1;
col := m - 1;
while row > 0 do
begin
if col < min_col then
begin
Dec(row);
Inc(min_col);
col := m - 1;
end;
A[row, col] := 0;
Dec(Col);
end;
/////////////////////////
//вывод на экран модифицированной матрицы
Write(#10#13, 'Modified matrix:');
Print;
//освобождение памяти выделенной под матрицу
A := nil;
Write('Press Enter for exit...');
Readln();
end.
Похожие вопросы
- ХЕЛП Дана квадратная матрица порядка n. на языке C или C ++
- ПОМОГИТЕ ОЧЕНЬ НУЖНА ПОМОЩ Поменять местами элементы, расположенные симметрично относительно побочной диагонали
- с# Дано 2 двумерных массива. Переставить столбцы с максимальными и минимальными элементами
- Помогите !!!С++Работа с одномерными и двумерными массивами. В каждой строке матрицы F(k, k) элемент. лежащий на главной
- С++ Передать в функцию квадратную матрицу и вычислить сумму элементов на ее главной диагонали и вернуть эту сумму.
- Найти сумму элементов квадратной матрицы ниже главной и побочной диагонали.. Банктик получается. C++ ,Pascal
- Программирование с++ побочная диагональ матрицы
- дан двумерный массив С(3,4).Получите новый массив А путём увеличения всех элементов исходного массива на число С.
- Дан двумерный массив целых чисел. Упорядочить прямую диагональ в порядке убывания.
- В квадратном рандомном массиве посчитать сумму элементов главной диагонали и произведение элементов побочной диагонали.