Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 14.04.2015, 18:54   #1 (permalink)
Over77over
Member
 
Регистрация: 13.03.2015
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Найти среднее арифметическое тех элементов матрицы

Помогите пожалуйста решить задачу.

Найти среднее арифметическое тех элементов матрицы, каждый из которых больше находящегося с ним в одной строке элемента главной диагонали, и сумму элементов главной диагонали.

Нужно перевести эту программу из Фортрана в Паскаль:

dimension A(4,4)
real sa,sk,s,a
integer i,j,k
write(*,*)'vvesti matrizy'
read(*,*)((A(i,j),i=1,4),j=1,4)
k=0
s=0
do i=1,4,1
s=s+a(i,i)
do j=1,4,1
if (A(i,j)>A(i,i)) then
k=k+1
sk=sk+a(i,j)
end if
end do
end do
sa=sk/k
write(*,26)s
26 format(3x,'Symma elementov diagonali',1x,(6x,4(F4.1,1x)))
write(*,31)sa
31 format(3x,'srednee arifmeticheskoe elementov',1x,(6x,4(F4.1,1x)))
end
Over77over вне форума   Ответить с цитированием

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

Посмотрите данные темки и узнайте больше

Найти сумму элементов в тех столбцах
Найти среднее арифметическое нечетных значений, Microsoft Visual c++

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

Вот:
Код:
Const
 N=5;

Var
 A:Array[1..N, 1..N] of Integer;
 i,j,k,Sum:Integer;

Begin
 Randomize;
 Sum:=0;
 k:=0;
 Writeln('Matrix:');
 for i:=1 to N do
  begin
   for j:=1 to N do
    begin
     A[i,j]:=Random(10);
     Write(A[i,j]:4);
    end;
   writeln;
  end;
 writeln;

 for i:=1 to N do Inc(Sum,A[i,i]);
 Writeln('Sum of main diagonal elements is ',Sum);
 writeln;

 Sum:=0;
 for i:=1 to N do
  for j:=1 to N do
   if A[i,j]>A[i,i] then
    begin
     Inc(k);
     Inc(Sum,A[i,j]);
    end;

 if k>0 then
  writeln('Arithmetic mean is ', Sum/k:0:3)
 else
  writeln('No elements exceeding that of main diagonal in corresponding line!');

 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Старый 15.04.2015, 19:29   #3 (permalink)
Over77over
Member
 
Регистрация: 13.03.2015
Сообщений: 16
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо большое!
Over77over вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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