Двумерный массив ЗАДАНИЕ 22. Дана матрица размером n*m. Выполнить сглаживание в строках матрицы, которое заключается в замене каждого элемента значением среднего арифметического трех стоящих рядом значений.

Вопрос школьника по предмету Информатика

Двумерный массив
ЗАДАНИЕ 22. Дана матрица размером n*m. Выполнить сглаживание в строках матрицы, которое заключается в замене каждого элемента значением среднего арифметического трех стоящих рядом значений.

Ответ учителя по предмету Информатика

Const

   N = 3;

   M = 4;

Var

   A:array[1..N,1..M] of real;

   i,j:integer;

   Sr,B,C:real;

Begin

Randomize;

WriteLn(‘Исходная матрица:’);

For i:= 1 to N do

    Begin

    For j:= 1 to M do

        Begin

        A[i,j]:=random()*13;

        Write(A[i,j]:6:3,’ ‘)

        End;

    WriteLn;

    End;

WriteLn;

WriteLn(‘Сглаженная матрица:’);

For i:= 1 to N do

    Begin

    B:=A[i,1];

    C:=A[i,2];

    A[i,1]:=(B+C)/2;

    For j:= 2 to M-1 do

        Begin

        Sr:=(B+C+A[i,j+1])/3;

        B:=A[i,j];

        A[i,j]:=Sr;

        End;

    A[i,M]:=(B+A[i,M])/2

    End;

For i:= 1 to N do

    Begin

    For j:= 1 to M do

        Write(A[i,j]:6:3,’ ‘);

    WriteLn;

    End

End.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Похожие вопросы от пользователей