Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2012, 20:38   #1
take.
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 4
По умолчанию Программирование матричных операций

Работа 5. ПРОГРАММИРОВАНИЕ МАТРИЧНЫХ ОПЕРАЦИЙ
Разработать программу решения четырех взаимосвязанных задач частой работы:
1) расчета элементов квадратной матрицы А = (аij). i,j = 1,2.....n по заданной формуле;
2) вычисления элементов вектора X = (xj). i = 1,2.....n по заданному правилу;
3) требуемого упорядочения элементов матрицы А или вектора X;
4) вычисления значения у по заданной формуле.

Код:
program lab5;
var a:array [1..10,1..10] of real;
    x:array [1..10] of real;
    i,j,k,n: integer;
    y,s,c,max,min: real;
begin
write ('n='); read(n);
     {---????? 1---}
for i:=1 to n do
for j:=1 to n do
a[i,j]:=(10*i+25*j)/(5*i*j);
writeln(' ':20,'matrix A');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:8:3);
writeln;
end;
  {---????? 2---}
for i:=1 to n do
begin
s:=0;
for j:=1 to n do s:=s+min(a[i,j],a[i,j+1])+ max(a[j,i],a[j,j+1])/2;
x[i]:= min(a[i,j],a[i,j+1])+ max(a[j,i],a[j,j+1])/2;
end;
writeln ('':20,'vector x');
for i:=1 to n do write (x[i]:8:3);
  {---????? 3---}
for i:=1 to n-1 do
begin
k:=i;
for j:=i+1 to n do
if odd(j) then
if odd(i) then
if a[j,j]>a[i,j] then
k:=j;
if i<>k then
begin
c:=a[i,j];a[i,j]:=a[k,j];
a[k,j]:=c;
end;
end;
writeln ('':20,'????????????? ???????');
for i:=1 to n do begin
for j:=1 to n  do
write(a[i,j]:8:3);
writeln;
end;
    {---????? 4---}
s:=0;
for i:=1 to n-1 do begin
if odd(i) then
s:=s + x[i]*x[n+1-i];
y:=s;
end;
writeln('y=',y:4:1);
end.
Изображения
Тип файла: png Информатика2.png (13.2 Кб, 164 просмотров)

Последний раз редактировалось take.; 19.10.2012 в 17:59.
take. вне форума Ответить с цитированием
Старый 18.10.2012, 21:37   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Код ужасно читаем, возьмите его в теги
[*CODE]...[*/CODE] без звездочек.

И собственно в чем проблема?
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 19.10.2012, 20:12   #3
take.
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 4
По умолчанию

Код нужно доработать
take. вне форума Ответить с цитированием
Старый 20.10.2012, 01:44   #4
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Дорабатывайте, даю вам на сей подвиг благословление =)
Теперь без сарказма. Что нужно доработать( нужна конкретика )?)
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 20.10.2012, 14:15   #5
take.
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 4
По умолчанию

Ошибка, начиная со 2 пункта, в строке
Код:
for j:=1 to n do s:=s+min(a[i,j],a[i,j+1])+ max(a[j,i],a[j,j+1])/2;
выдает: ожидалось имя процедуры или функции
take. вне форума Ответить с цитированием
Старый 20.10.2012, 14:36   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Открою Вам страшную тайну: в Паскале нет функций min и max. Их нужно писать самому.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 20.10.2012, 17:45   #7
take.
Новичок
Джуниор
 
Регистрация: 18.10.2012
Сообщений: 4
По умолчанию

и как их нужно писать?
take. вне форума Ответить с цитированием
Старый 20.10.2012, 19:28   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Цитата:
и как их нужно писать?
Можно так. Но вообще странный вопрос
Код:
function min(a, b: real): real;
begin
  if a < b then
    min := a
  else
    min := b;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 20.10.2012, 22:59   #9
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
и как их нужно писать?
Цитата:
Но вообще странный вопрос
Действительно, странный для человека, написавшего собственный немаленький код... Собственный ли?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal ABC. Программирование матричных операций. Христо Помощь студентам 0 23.05.2012 15:03
Программирование матричных операций(Delphi) darko666 Помощь студентам 0 08.12.2011 16:40
ПРОГРАММИРОВАНИЕ МАТРИЧНЫХ ОПЕРАЦИЙ lords Паскаль, Turbo Pascal, PascalABC.NET 2 23.03.2011 19:35
ПРОГРАММИРОВАНИЕ МАТРИЧНЫХ ОПЕРАЦИЙ Obrey Помощь студентам 5 17.12.2010 15:05
программирование матричных операций! darinochka Microsoft Office Excel 4 11.10.2010 12:25