В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
юля2760
юля2760
09.05.2020 21:20 •  Информатика

Ввести двумерный массив . Каждый элемент, стоящий в массиве на позиции с четной суммой индексов заменить остатком от деления этого элемента на 7. Массив вывести до и после преобразования. Решить задачу с использованием процедур пользователя.


Ввести двумерный массив . Каждый элемент, стоящий в массиве на позиции с четной суммой индексов зам

Показать ответ
Ответ:
olya2005i
olya2005i
15.10.2020 14:38

--- PascalABC.NET 3.6.2 ---

procedure MatrTransform<T>(var Matr: Array[,] of T; TransformRule: T -> T; IndicesPredicate: (integer,integer) -> boolean := nil);

begin

 if IndicesPredicate = nil then begin

   for var i:= 0 to Matr.GetLength(0)-1 do

   begin

     for var k := 0 to Matr.GetLength(1)-1 do

     begin    

       Matr[i,k] := TransformRule(Matr[i,k]);

     end;    

   end;

 end

 else

   for var i:= 0 to Matr.GetLength(0)-1 do

   begin

     for var k := 0 to Matr.GetLength(1)-1 do

     begin  

       if (IndicesPredicate(i,k)) then

       Matr[i,k] := TransformRule(Matr[i,k]);

     end;    

   end;

end;

begin

 var (n,m) := ReadInteger2('Enter dimensions of matrix: ');

 var A := ReadMatrInteger(n,m);

 A.Println;

 MatrTransform(A, x -> x mod 7, (row, col) -> (row+col) mod 2 = 0);

 println('');

 A.Println;

end.

З.Ы Решение представлено для текстовой версии задачи, в которой говориться о трансформации двумерного массива

З.Ы 2 Generic-Процедура MatrTransform<> Может изменять элементы матрицы как обращая внимание на позицию элемента в матрице, так и нет. По этому в ней больше кода, чем вам, возможно, нужно.

З.Ы 3 MatrTransform<> Может работать с двумерными массивами любого типа данных

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота