1 / 1 / 0
Регистрация: 25.04.2012
Сообщений: 43

Файл содержит количество столбцов матрицы. Создать файл той же структуры, содержащий произведение А*В

16.05.2012, 10:54. Показов 2609. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача:
Даны два файла вещественных чисел с именами NameA и NameB, содержащие элементы прямоугольных матриц А и В (по строкам), причем начальный элемент каждого файла содержит количество столбцов соответствующей матрицы. Создать файл той же структуры с именем NameC содержащий произведение А *В. Если матрицы А и В нельзя перемножить, то оставить файл NameC пустым.

Написал вроде бы, но есть ошибки(думаю куча их). Первая это (скрин прикреплен ниже) пишет что несовместимые типы Integer and Extended. Не знаю как исправить. Несмотря на эту ошибку я дальше стал писать алгоритм. Самое последнее условие(Если матрицы А и В нельзя перемножить, то оставить файл NameC пустым) я тоже не учел, если подскажите самый простой способ буду бесконечно благодарен. И я файл NameC не создавал, а выводил все в мемо.
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
const n=26; q1=5; q2=5;
var
  Form11: TForm11;
  NameA:file of real;
  NameB:file of real;
  r1,r2:real;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm11.Button1Click(Sender: TObject);
var
i:integer;
begin
AssignFile(NameA,'C:\Documents and Settings\Веталь\Рабочий стол\B16 NameA NameB 16.05\NameA');
Rewrite(NameA);
AssignFile(NameB,'C:\Documents and Settings\Веталь\Рабочий стол\B16 NameA NameB 16.05\NameB');
Rewrite(NameB);
r1:=q1;
r2:=q2;
write(NameA,r1);
write(NameB,r2);
for i:=1 to 26 do
  begin
    r1:=Random*5;
    write(NameA,r1);
    r2:=Random*5;
    write(NameB,r2);
  end;
  closefile(NameA);
  closefile(NameB);
  reset(NameA);
  while not eof(NameA) do begin
    read(NameA, r1);
    Memo1.Lines.Add(FloatToStr(r1));
  end;
  closefile(NameA);
  reset(NameB);
  while not eof(NameB) do begin
    read(NameB, r2);
    Memo2.Lines.Add(FloatToStr(r2));
  end;
  closefile(NameB);
 
end;
 
procedure TForm11.Button2Click(Sender: TObject);
var
q,w,e:integer;
i,j,y,x:integer;
a:array of array of real;
b:array of array of real;
begin
AssignFile(NameA,'C:\Documents and Settings\Веталь\Рабочий стол\B16 NameA NameB 16.05\NameA');
Rewrite(NameA);
AssignFile(NameB,'C:\Documents and Settings\Веталь\Рабочий стол\B16 NameA NameB 16.05\NameB');
Rewrite(NameB);
q:=(n-1)/q1;
setlength(a,q1,q);   //q1 - кол-во стлбц NameA   q - кол-во строк
w:=(n-1)/q2;         //q2 - кол-во стлбц NameB   w - кол-во строк
setlength(b,q2,w);
seek(NameA,2);
seek(NameB,2);
 
 
i:=0; j:=0;
while not eof(NameA) do begin
  read(NameA,e);
  a[i,j]:=e;
  i:=i+1;
  if i=q1 then begin
    i:=0;
    j:=j+1;
  end;
end;
e:=0; y:=0; x:=0;
 while not eof(NameB) do begin
  read(NameB,e);
  b[y,x]:=e;
  y:=y+1;
  if y=q2 then begin
    y:=0;
    x:=x+1;
  end;
end;
 
for j:=0 to q-1 do
  for i:=0 to q1-1 do begin
    a[i,j]:=a[i,j]*b[x,y];
    y:=y+1;
    if y=q2 then begin
      y:=0;
      x:=x+1;
    end;
  end;
Memo3.Lines.Add(floattostr(q));
for j:=0 to q-1 do
  for i:=0 to q1-1 do
    Memo3.Lines.Add(floattostr(a[i,j]));
 
 
end;
 
end.
Миниатюры
Файл содержит количество столбцов матрицы. Создать файл той же структуры, содержащий произведение А*В  
Вложения
Тип файла: rar B16 NameA NameB 16.05.rar (192.8 Кб, 6 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.05.2012, 10:54
Ответы с готовыми решениями:

Создать новый файл той же структуры, содержащий матрицу, транспонированную к исходной.
Дан файл вещественных чисел, содержащий элементы прямоугольной матрицы (по строкам), причем первый элемент файла содержит количество...

Файл содержит числа, количество вводится с клавиатуры. Создать второй файл, содержащий квадраты этих чисел в обратном порядке
Задача : Файл содержит числа, количество вводится с клавиатуры. Создать второй файл, содержащий квадраты этих чисел в обратном порядке. ...

Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Создать новый файл, содержащий элеме
Дан файл вещественных чисел, содержащий элементы квадратной матрицы (по строкам). Создать новый файл, содержащий элементы матрицы,...

20
1 / 1 / 0
Регистрация: 25.04.2012
Сообщений: 43
24.05.2012, 15:37  [ТС]
Студворк — интернет-сервис помощи студентам
это оказывается я просто неправильно из файла в массив записывал. а так перемножается верно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.05.2012, 15:37

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

Дан файл с элементами верхнетреугольной матрицы, создать файл содержащий матрицу полностью
Дан файл вещественных чисел содержащий ненулевую часть верхнетреугольной матрицы по строкам.Создать новый файл содержащий все элементы...

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

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

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


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

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

Новые блоги и статьи
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru