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


Ответ
 
Опции темы Опции просмотра
Старый 14.11.2011, 19:11   #1 (permalink)
Aizen_Stas
Member
 
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Программирование матричных операций

Разработать программу решения четырех взаимосвязанных задач частой работы:
1)расчета элементов квадратной матрицы A = (ai,j ), i,j = 1,2,...,n по заданной формуле;
2)вычисления элементов вектора X = (xi), i = 1,2,...,n по заданному правилу;
3)требуемого упорядочения элементов матрицы А или вектора Х;
4)вычисления значения y по заданной формуле.
Размерность задачи n назначается преподавателем (в моем случае n=6)


Вариант 77
1)aij=(-1)*ln(j)*ln(i)
2)xi=bij,где bij – элемент матрицы В,полученной упорядочением по возрастанию столбцов матрицы А ;
3)упорядочить элементы первой строки матрицы А по убыванию абсолютных значений;
4)5 тема.docx
Aizen_Stas вне форума   Ответить с цитированием

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

Попробуйте обратиться за помощью к этим темам

Программирование в институте, что это?
Программирование
Программирование
Программирование операций обработки одномерных массивов
Программирование циклов в Си

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

Всё понял, кроме:
Пункт 1. Во-первых, произведение или сумма логарифмов? Во-вторых, Вы уверены, что там просто (-1), а не, скажем, (-1) в какой-нибудь степени, например j или (i+j)?
Пункт 2. Что значит "упорядочение по возрастанию столбцов матрицы А"? По возрастанию чего? Как сравнивать между собой столбцы? Я не умею.
Пункт 4. Кто такие в приведенной формуле Xi и откуда они берутся?

В общем, так. Помощь получите, когда выложите ясное, четкое, грамотно сформулированное и однозначное задание. Сразу скажу: отговорки типа "А мне так дали" не принимаются. Разбирайтесь с преподами.

Так, ну сейчас еще раз внимательно посмотрел, вроде начинает проясняться. Большинство возражений снимаю, кроме одного:
Итак, сформировали матрицу А по формуле (в ней по-прежнему желательно уточнение). Упорядочили столбцы по возрастанию элементов и тем самым получили матрицу В. А вот что есть вектор Х - извините, но в упор не понимаю.
Vladimir_S вне форума   Ответить с цитированием
Старый 15.11.2011, 16:28   #3 (permalink)
Aizen_Stas
Member
 
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Пардон,в формуле и правда есть оплошность: aij=(-1)*ln(j)+ln(i).
Над остальным пока помозгую,чтобы внятно объяснить
Aizen_Stas вне форума   Ответить с цитированием
Старый 15.11.2011, 16:46   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Aizen_Stas Посмотреть сообщение
Пардон,в формуле и правда есть оплошность: aij=(-1)*ln(j)+ln(i).
Над остальным пока помозгую,чтобы внятно объяснить
Странно это - почему бы в таком случае просто не написать aij=ln(i)-ln(j)? Ну ладно, Вам видней...
Vladimir_S вне форума   Ответить с цитированием
Старый 17.11.2011, 19:18   #5 (permalink)
Aizen_Stas
Member
 
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Опечатка в методичке была(
xi=bii-вектор,представляющий собой главную диагональ вектора B
Aizen_Stas вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 17.11.2011, 19:20   #6 (permalink)
Aizen_Stas
Member
 
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

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

Пожалуйста:
Код:
CONST
 N=6;
VAR
 A,B:Array[1..N,1..N] of Real;
 X:Array[1..N] of Real;
 Dummy,Y:Real;
 i,j,k:Byte;
BEGIN
 Writeln('Initial array (matrix A):');
 For i:=1 to N do
  begin
   For j:=1 to N do
    begin
     A[i,j]:=Ln(j)-Ln(i);
     Write(A[i,j]:8:3);
    end;
   Writeln;
  end;
 Writeln;

 B:=A;

 Writeln('Ordered array (matrix B):');
 For j:=1 to N do
  For i:=1 to N do
   For k:=1 to N-i do
    If B[k,j]>B[k+1,j] then
     begin
      Dummy:=B[k,j];
      B[k,j]:=B[k+1,j];
      B[k+1,j]:=Dummy;
     end;

 For i:=1 to N do
  begin
   For j:=1 to N do Write(B[i,j]:8:3);
   Writeln;
  end;
 Writeln;

 Writeln('Vector X:');
 For i:=1 to N do
  begin
   X[i]:=B[i,i];
   Write(X[i]:8:3);
  end;
 Writeln;
 Writeln;

 Writeln('Ordered first line of matrix A:');
 For j:=1 to N do
  For k:=1 to N-j do
   If Abs(A[1,k])<Abs(A[1,k+1]) then
    begin
     Dummy:=A[1,k];
     A[1,k]:=A[1,k+1];
     A[1,k+1]:=Dummy;
    end;
 For j:=1 to N do Write(A[1,j]:8:3);
 Writeln;
 Writeln;

 Writeln('Product:');
 Y:=1;
 For i:=1 to N do
  If X[i]<>-1 then Y:=Y*(X[i]+1)*i;
 Write('Y= ',Y:0:5);

 Readln
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 19.11.2011, 00:24   #8 (permalink)
Aizen_Stas
Member
 
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо-осталось только разобраться и переиначить под свой способ
Aizen_Stas вне форума   Ответить с цитированием
Старый 19.11.2011, 00:30   #9 (permalink)
Aizen_Stas
Member
 
Регистрация: 26.10.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Как понимать Dummy?
Aizen_Stas вне форума   Ответить с цитированием
Старый 19.11.2011, 09:34   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Aizen_Stas Посмотреть сообщение
Как понимать Dummy?
А зачем тут что-то как-то понимать? Просто имя переменной. В буквальном переводе - муляж, пустышка. В программе используется при перестановке местами двух элементов массива как временное хранилище значения одного из них.
Удачного переиначивания!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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