Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
edik ze{b}ra
8 / 8 / 0
Регистрация: 29.11.2009
Сообщений: 25
1

Разработать способ экономического хранения в памяти разреженных матриц

29.03.2011, 20:33. Просмотров 647. Ответов 3
Метки нет (Все метки)

задание
Разработать способ экономического хранения в памяти разреженных матриц. Разработать процедуры и функции для обеспечения доступа к элементам матрицы. в контрольном примере забезпечети чтения и запись всех элементов матрицы. Оценить время работы операции.
условие
Сохранить все нулевые элементы непарных столбцов
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2011, 20:33
Ответы с готовыми решениями:

Хранения матриц в динамически распределяемой области памяти
Скажите пожалуйста или приведите пример хранения матриц в динамически распределяемой области...

Разработать способ экономного хранения в памяти разреженных матриц
Помогите плз зделать Задание 1 Разработать способ экономного хранения в памяти разреженных матриц...

Умножение треугольных матриц«Методы обработки разреженных матриц»
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным проблем нет. Доступ...

Разработать способ экономного размещения в памяти заданного разреженного массива
Добрый день! Помогите пожалуйста разобраться почему программа автоматически определяет нулевой...

Разработать способ экономного размещения в памяти заданной разреженной таблицы
Быть может кто-нибудь может сделать задачу? Был бы очень благодарен. Разработать способ экономного...

3
the_crow
последний из ворон
111 / 111 / 63
Регистрация: 02.02.2011
Сообщений: 334
29.03.2011, 20:43 2
Ты сам понимаешь, что здесь написано? Или, как и я, через слово?
0
edik ze{b}ra
8 / 8 / 0
Регистрация: 29.11.2009
Сообщений: 25
29.03.2011, 20:45  [ТС] 3
хДД))) вот и я не понимаю!!!! думал что эт я ток один))
ну походу нужно сделать матрицу и в ней сохранить все нулевые элементы непарных столбцов
0
the_crow
последний из ворон
111 / 111 / 63
Регистрация: 02.02.2011
Сообщений: 334
31.03.2011, 10:19 4
edik ze{b}ra, есть пять способов хранения разряженных матриц. Самый простой - строчный (три вектора, в одном значение, в двух адрес).
В этом модуле реализованы чтение и запись по одному элементу, изменение разрядности матрицы.
Если что-то нужно, пиши сюда, а не в приват. До вечера буду решать задачки на форуме.

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
unit Unit2;
 
interface
 
uses SysUtils;
 
type
  TZnach = array of real;
  TAdress = array of integer;
  TRazMat1 = class
  private
    fZnach:TZnach;
    fAdressX:TAdress;
    fAdressY:TAdress;
    fRazryadnostX:integer;
    fRazryadnostY:integer;
  published
    property AdressX:TAdress read fAdressX write fAdressX;
    property AdressY:TAdress read fAdressY write fAdressY;
    property RazryadnostX:integer read fRazryadnostX write fRazryadnostX;
    property RazryadnostY:integer read fRazryadnostY write fRazryadnostY;
    property Znach:TZnach read fZnach write fZnach;
 
    constructor Create;
    function Chtenie(i,j:integer):real;
    procedure Zapis(k:real;i,j:integer);
    procedure SLength(n,m:integer);
end;
implementation
 
constructor TRazMat1.Create;
begin setlength(fZnach,0);
      setlength(fAdressX,0);
      setlength(fAdressY,0);
      fRazryadnostX:=0;
      fRazryadnostY:=0;
end;
 
function TRazMat1.Chtenie(i,j:integer):real;
var k:integer;
begin Chtenie:=0;
      for k:=0 to length(fAdressX)-1 do
      if fAdressX[k]=i then if fAdressY[k]=j then Chtenie:=fZnach[k];
end;
 
procedure TRazMat1.Zapis(k:real;i,j:integer);
var l,ii:integer;
begin ii:=-1;
      for l:=0 to length(fAdressX)-1 do
      if fAdressX[l]=i then if fAdressY[l]=j then begin ii:=l; end;
      if ii<0 then begin setlength(fAdressX,length(fAdressX)+1);
                         setlength(fAdressY,length(fAdressX));
                         setlength(fZnach,length(fAdressX));
                         fAdressX[length(fAdressX)-1]:=i;
                         fAdressY[length(fAdressX)-1]:=j;
                         fZnach[length(fAdressX)-1]:=k;
                   end;
end;
 
 
procedure TRazMat1.SLength(n,m:integer);
begin fRazryadnostX:=n;
      fRazryadnostY:=m;
end;
 
end.
ну и разумеется, я не проверял.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2011, 10:19

Определители разреженных матриц
Здравствуйте! Помогите посчитать определители следующих матриц: 1) \begin{vmatrix}1 &amp; 2 &amp; 0 &amp; ......

Найти сумму двух сильно разреженных матриц
Найти сумму двух сильно разреженных матриц A(m,n) и B(m,n), хранящихся в упакованном виде....

Разработать базу данных макроэкономических показателей социально-экономического состояния регионов ЮФО
Нужно разработать базу данных макроэкономических показателей социально-экономического состояния...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru