Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 08.05.2012, 14:08   #1 (permalink)
kru
Member
 
Регистрация: 30.11.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Помогите с написанием программы

соседями элемента А_ij в матрице назовем элементы А_kl с i-1<=k<=i+1, j-1<=l<=j+1, (k,l) не равны (i,j). операция сглаживания матрицы дает новую матрицу того же размера, каждый элемент которой получается как среднее арифметическое имеющихся соседей соответствующего элемента исходной матрицы. построить результат сглаживания заданной вещественной матрицы размером 10 на 10.
в сглаженной матрице найти сумму модулей элементов,расположенных ниже главной диагонали.


программа на паскале.желательно с комментариями.
заранее огромное спасибо)
kru вне форума   Ответить с цитированием

Старый 08.05.2012, 14:08
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

На форуме люди обсуждали что то схожее, посмотрите

Помогите с написанием программы на Pascal
Помогите с написанием программы на С++
Помогите пожалуйста с написанием программы

Старый 08.05.2012, 21:09   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Что делать с "бордюрными" и "угловыми" (A[1,j], A[10,j], A[i,1], A[i,10]) элементами, имеющими неполный набор соседей? Два варианта:
1. Усреднить столько соседей, сколько есть (напр. для "угловых" это всего 3).
2. Оставить такие элементы без изменения.
Уточните.
Vladimir_S вне форума   Ответить с цитированием
Старый 15.05.2012, 22:02   #3 (permalink)
kru
Member
 
Регистрация: 30.11.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

скорее первый вариант
kru вне форума   Ответить с цитированием
Старый 16.05.2012, 13:07   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от kru Посмотреть сообщение
скорее первый вариант
Тогда - пожалуйста. Исходная матрица задается генератором случайных чисел, потому что вводить сотню вещественных элементов - это, с моей точки зрения, полное опупение. Q - количество соседей каждого элемента.
Код:
Const
 N=10;

Var
 A,B:Array[1..N,1..N] of Real;
 i,j,k,m,Kmin,Kmax,Mmin,Mmax,Q:Byte;
 Sum:Real;

Begin

 Randomize;

 For i:=1 to N do
  begin
   For j:=1 to N do
    begin
     A[i,j]:=Random*10-5;
     Write(A[i,j]:7:3);
     B[i,j]:=0;
    end;
   writeln;
  end;
 Writeln;

 For i:=1 to N do
  begin
   For j:=1 to N do
    begin
     Q:=0;
     If i=1 then Kmin:=i else Kmin:=i-1;
     If i=N then Kmax:=i else Kmax:=i+1;
     If j=1 then Mmin:=j else Mmin:=j-1;
     If j=N then Mmax:=j else Mmax:=j+1;
     for k:=Kmin to Kmax do
      for m:=Mmin to Mmax do
       if Not((k=i) and (m=j)) then
        begin
         B[i,j]:=B[i,j]+A[k,m];
         Inc(Q);
        end;
     B[i,j]:=B[i,j]/Q;
     Write(B[i,j]:7:3);
    end;
   Writeln;
  end;

 Sum:=0;
 For i:=2 to N do
  For j:=1 to i-1 do
   Sum:=Sum+Abs(B[i,j]);
 Writeln('Sum = ',Sum:0:3);

 Readln;

End.
Vladimir_S вне форума   Ответить с цитированием
Старый 22.05.2012, 22:33   #5 (permalink)
kru
Member
 
Регистрация: 30.11.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

огромное спасибо,помогли!)
kru вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 14:34.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.