Элементы массива, сумма квадратов индексов которых больше значения элемента, заменить числом 100 - PascalABC.NET
Формулировка задачи:
Дан целочисленный массив размера n x m с элементами из диапазона [0,20).
Те элементы, сумма квадратов индексов которых больше значения элемента, заменить числом 100.
Решение задачи: «Элементы массива, сумма квадратов индексов которых больше значения элемента, заменить числом 100»
textual
Листинг программы
begin
var n := ReadLnInteger('n =');
var m := ReadLnInteger('m =');
var a : array [,] of Integer;
SetLength(a, n, m);
var D := 4;
for var r := 1 to n do
for var c := 1 to m do
begin
a[r-1, c-1] := ReadLnInteger('a[' + r.ToString + ',' + c.ToString + '] =');
D := max(D, a[r-1, c-1].ToString.Length + 1);
end;
WriteLn('Введён массив:');
for var r := 0 to n-1 do
begin
for var c := 0 to m-1 do
Write(a[r, c]:D);
WriteLn;
end;
WriteLn('Изменённый массив:');
for var r := 1 to n do
begin
for var c := 1 to m do
begin
if r*r + c*c > a[r-1, c-1] then
a[r-1, c-1] := 100;
Write(a[r-1, c-1]:D);
end;
WriteLn;
end;
end.
Объяснение кода листинга программы
- Ввод количества строк и столбцов для массива
- Инициализация массива с помощью функции SetLength
- Ввод значений элементов массива с помощью функции ReadLnInteger
- Вычисление максимальной длины строки элемента массива
- Вывод введенного массива с помощью цикла for и функции Write
- Вычисление измененного массива с помощью цикла for и условного оператора if
- Вывод измененного массива с помощью цикла for и функции Write
- Окончание работы программы с помощью ключевого слова end.