Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kayslu
19 / 19 / 7
Регистрация: 25.03.2009
Сообщений: 215
1

Подстановка элементов матрицы в другую матрицу

18.09.2017, 12:26. Просмотров 798. Ответов 6
Метки нет (Все метки)

Здравствуйте. Pешитe, пожалуйста, эту задачу.
Даны прямоугольная матрица чисел aXb:
01 02 03 04 05 07 11 14 16 17 18 20
01 02 03 05 06 09 11 12 13 14 15 25 - в одном текстовом файле
и mXn:
1 2 3 4 7 8 11
1 2 3 6 7 10 12
2 3 5 6 9 11 12
1 2 5 7 8 9 10 - в другом.
В матрицах отсутствуют ноль и отрицательные числа. Количество столбцов матрицы aXb
равно значению максимального элемента матрицы mXn.
Написать программу на PABC.Net для решения следующей задачи.
Переписать матрицу mXn считая, что значения ее элементов равны порядковым
номерам (индекс+1) элементов 1-й строки матрицы aXb и подставляя вместо значений mXn
соотвествующие индексам aXb значения aXb.
Повторить со 2-й строкой матрицы aXb, 3-й, до конца. Результат вывести в новый файл.
Всего должно получиться строк = произведение количеств строк двух матриц.
Приведенные матрицы примерные, предусматривается широкая вариабельность матриц.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2017, 12:26
Ответы с готовыми решениями:

Получить новую матрицу В порядка N путём умножения элементов матрицы А на минимальный элемент матрицы А
5)Получить новую матрицу В порядка N путём умножения элементов матрицы А на...

Получить матрицу прибавлением к элементам первой матрицы произведения элементов строк второй матрицы
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу...

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

как можно записать в матрицу значения в заданном порядке, если нельзя вводить другую матрицу
как можно записать в матрицу значения в этом порядке, если нельзя вводить...

Из положительных элементов матрицы N сформировать матрицу M
помогите решить задачу.Буду очень благодарна N(10, 10) Из положительных...

6
kayslu
19 / 19 / 7
Регистрация: 25.03.2009
Сообщений: 215
28.09.2017, 16:12  [ТС] 2
Не удается загрузить файлы примера
0
Вложения
Тип файла: txt aXb .txt (295 байт, 2 просмотров)
kayslu
19 / 19 / 7
Регистрация: 25.03.2009
Сообщений: 215
28.09.2017, 16:16  [ТС] 3
2-й
0
Вложения
Тип файла: txt mXn.txt (199 байт, 2 просмотров)
Puporev
Модератор
55108 / 42354 / 29252
Регистрация: 18.05.2008
Сообщений: 100,076
28.09.2017, 18:50 4
Далеко не по нетовски, но на безрыбье сойдет. Может кто перепишет.
Вроде правильно понял, проверяйте.
Pascal
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
type mtr=array[,] of integer;//тип матрицы
//чтение файлов
procedure matrix(var f:text;fname:string;var a:mtr;var row,col:integer);
var s:string;
begin
assign(f,fname);
reset(f);
row:=0;
while not eof(f) do
 begin
  readln(f,s);
  inc(row);//считаем строки
  if row=1 then
   begin
    col:=1;
    for var i:=1 to length(s) do
    if s[i]=' ' then inc(col);//считаем столбцы
   end;
 end;  
 reset(f);
 setlength(a,row,col);
 //читаем матрицу
 for var i:=0 to row-1 do
 for var j:=0 to col-1 do
 read(f,a[i,j]);
 close(f); 
 end;
 
var f1,f2,f3:textfile;
    axb,mxn,vsp:mtr;//vsp-вспомогательная матрица
    a,b,m,n,p:integer;
begin
matrix(f1,'aXb.txt',axb,a,b);
matrix(f2,'mXn.txt',mxn,m,n);
assign(f3,'aXm.txt');
rewrite(f3);
setlength(vsp,m,n);//запоминаем вторую матрицу
vsp:=mxn;
//создаем новую вторую
setlength(mxn,a*m,n);
p:=0;
for var k:=0 to a-1 do
 begin
  for var i:=p to p+m-1 do
  for var j:=0 to n-1 do
  mxn[i,j]:=axb[k,vsp[i-p,j]-1];
  p:=p+m;
 end; 
for var i:=0 to a*m-1 do
 begin
  for var j:=0 to n-1 do
  write(f3,mxn[i,j]:3);
  writeln(f3,'');
 end; 
close(f3); 
end.
1
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
26369 / 17693 / 7005
Регистрация: 22.10.2011
Сообщений: 31,147
Записей в блоге: 6
28.09.2017, 19:40 5
Лучший ответ Сообщение было отмечено Puporev как решение

Решение

Ну вот тот же результат, но с использованием возможностей .NET:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function ReadMatrix(fn : string) : array [,] of integer;
begin
  var lines := ReadAllLines(fn).Select(v -> v.ToIntegers).ToArray;
  result := MatrGen(lines.Count, lines[0].Count, (i, j) -> lines[i][j]);
end;
 
begin
  var axb := ReadMatrix('aXb.txt');
  var mxn := ReadMatrix('mXn.txt');
  var res := MatrGen(axb.RowCount*mxn.RowCount, mxn.ColCount,
                     (i, j) -> axb[i div mxn.RowCount, mxn[i mod mxn.RowCount, j] - 1]).
             Rows.Select(v -> v.JoinIntoString(#9)).JoinIntoString(NewLine);
  WriteAllText('result.txt', res);
end.
1
Puporev
Модератор
55108 / 42354 / 29252
Регистрация: 18.05.2008
Сообщений: 100,076
28.09.2017, 19:46 6
Даже ответ с моим сходится...
0
kayslu
19 / 19 / 7
Регистрация: 25.03.2009
Сообщений: 215
29.09.2017, 07:38  [ТС] 7
Спасибо, крепко написано
0
29.09.2017, 07:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2017, 07:38

Матрицы. Из элементов вектора, кратных 2-м, сформировать матрицу
дан вектор а сформированный из целых случайных чисел в диапазоне , из элементов...

Сформировать из столбцов матрицы В, не содержащих равных элементов, матрицу С
Задание 2.3. Выполнить над прямоугольной матрицей В размером m х n...

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


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

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

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