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


Ответ
 
Опции темы Опции просмотра
Старый 25.12.2010, 10:50   #1 (permalink)
Mel_lissa
Новичок
 
Регистрация: 24.12.2010
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Процедуры-массивы

Для матриц Х(5, 9) и У(17, 8) найти sum1 и sum2 соответственно – суммы элементов, не превышающих 1. Поиск сумм оформить в виде процедуры-функции. Если sum1 > sum2, то с помощью процедуры транспонировать матрицу Х, иначе – матрицу У.

помгите составить пожалуйста!для паскаля!
Mel_lissa вне форума   Ответить с цитированием

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

Наверняка в похожих топиках вы найдете много полезной для себя информации

Двумерные массивы и процедуры PASCAL
Оформление процедуры с массивами
Оформить в виде процедуры. Паскаль
Помогите, пожалуйста, с Паскалем. Процедуры-массивы
Процедуры, функции

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

Цитата:
Сообщение от Mel_lissa Посмотреть сообщение
Для матриц Х(5, 9) и У(17, 8) найти sum1 и sum2 соответственно – суммы элементов, не превышающих 1. Поиск сумм оформить в виде процедуры-функции. Если sum1 > sum2, то с помощью процедуры транспонировать матрицу Х, иначе – матрицу У.

помгите составить пожалуйста!для паскаля!
Пожалуйста:
Код:
TYPE
 AR=Array[1..17,1..17] of Real;

VAR
 X,Y,Z:Ar;
 i,j:Integer;
 Sx,Sy:Real;

Function Sum(M:Ar):Real;
 var
  Is,Js:Integer;
  S:Real;
 begin
  S:=0;
  for Is:=1 to 17 do
   for Js:=1 to 17 do
    if M[Is,Js]<=1 then S:=S+M[Is,Js];
  Sum:=S;
 end;

Procedure Trans(M:Ar; var MT:Ar);
 var
  It,Jt:Integer;
 begin
  for It:=1 to 17 do
   for Jt:=1 to 17 do
    MT[It,Jt]:=M[Jt,It];
 end;

BEGIN
 Randomize;
 For i:=1 to 17 do
  For j:=1 to 17 do
   begin
    X[i,j]:=0;
    Y[i,j]:=0;
   end;
 WriteLn('X and Y matrices:');
 For i:=1 to 5 do
  begin
   For j:=1 to 9 do
    begin
     X[i,j]:=Random*2;
     Write(X[i,j]:7:3);
    end;
   WriteLn;
  end;
 WriteLn;
 For i:=1 to 17 do
  begin
   For j:=1 to 8 do
    begin
     Y[i,j]:=Random*6;
     Write(Y[i,j]:7:3);
    end;
   WriteLn;
  end;
 WriteLn('Press "Enter" to continue...');
 ReadLn;
 Sx:=SUM(X);
 Sy:=SUM(Y);
 WriteLn('Sx=',Sx:7:3,'     Sy=',Sy:8:3);
 WriteLn('Transposed matrix:');
 If Sx>Sy then
  begin
   Trans(X,Z);
   For i:=1 to 9 do
    begin
     For j:=1 to 5 do
      Write(Z[i,j]:5:2);
     WriteLn;
    end;
  end
 else
  begin
   Trans(Y,Z);
   For i:=1 to 8 do
    begin
     For j:=1 to 17 do
      Write(Z[i,j]:4:1);
     WriteLn;
    end;
  end;
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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

Метки
массивы, процедуры


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

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




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

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