Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
valord

Турбопаскаль.Двумерные массивы.Из двух матриц составить третью предвариельно сортируя перед занесением в 3 матрицу.

04.06.2009, 12:06. Показов 1519. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые господа разбирающиеся в паскале прошу вас помочь с программой над которой бьюсь уже несколько дней.
Даны два массива чисел размером М*К(матрица А) и М*Т(матрица B). Объединить их столбцы так, чтобы в массиве-результате (M*(K+T))(матрица С) в первой строке элементы получились упорядоченными по возрастанию.Числа вводятся с клавиатуры.
Пример:смотреть в конец сообщения.
Метод решения:
1 шаг.Берем первый столбец из матрицы А и первый столбец из матрицы B,заносим их в матрицу С с условием, что первым должен стоять столбец той матрицы у которой первый эелемент в первой строчке меньше чем первый элемент в первой строчке другой матрицы.
В примере мы взяли 1 столбец из А и первый столбец из B,занесли их в С отсортировав и получив в результате в С на этом шаге следующую матрицу
-3 1
9 7
2 шаг.Дальше мы сравниваем элементы из 1 строки матрицы А с первой строкой матрицы С и в зависимости от результата сравнения заносим столбец из А в матрицу С.После этого сравнения в С на этом шаге должна получится матрица
-3 1 2
9 7 8
3 шаг.Проделываем те же действия но уже для B и для С,в итоге должна получится результирующая матрица С показанная на картинке.
Код:


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
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
107
108
109
110
111
112
113
114
115
uses crt;
var
h,y,k,t,m,z,x,i,j,mina,minb,kt,ka,kb:integer;
pa,pb:string;
a:array [1..6,1..6] of integer;
b:array [1..6,1..6] of integer;
c:array [1..6,1..12] of integer;
begin
clrscr;
writeln('kolichestvo strok v matricax a i b - celoe chislo<=6');
read(m);
writeln('kolichestvo stolbcov v matrice a - celoe chislo<=6');
read(t);
writeln('chislo strok v oboix matricax = ',m);
writeln('chislo stolbcov v matrice a = ',t);
 if (m>=1) and (m<=6) and (t>=1) and (t<=6) then
 begin
 writeln('znachenie elementov matrici - celie chisla');
  for i:=1 to m do
  begin
   for j:=1 to t do
   begin
   write('a[',i,',',j,']=');
   read(a[i,j]);
   end;
  end;
  for i:=1 to m do
  begin
   for j:=1 to t do
   write(a[i,j]:3);
   writeln;
  end;
 end
 else
writeln('oshibka!chislo strok ili stolbcov matrici menshe 1 ili bolshe 6');
writeln('kolichestvo stolbcov v matrice b - celoe chislo<=6');
read(k);
writeln('chislo strok v oboix matricax = ',m);
writeln('chislo stolbcov v matrice a = ',k);
 if (m>=1) and (m<=6) and (k>=1) and (k<=6) then
 begin
 writeln('znachenie elementov matrici - celie chisla');
  for i:=1 to m do
  begin
   for j:=1 to k do
   begin
   write('b[',i,',',j,']=');
   read(b[i,j]);
   end;
  end;
  for i:=1 to m do
  begin
   for j:=1 to k do
   write(b[i,j]:3);
   writeln;
  end;
  end
  else
writeln('oshibka!chislo strok ili stolbcov matrici menshe 1 ili bolshe 6');
writeln('matr c');
kt:=2;
 
 
 
 
if a[1,1]<=b[1,1] then
begin
for h:=1 to m do
 
begin
c[h,1]:=a[h,1];
c[h,2]:=b[h,1];
end;
end
else
begin
for h:=1 to m do
begin
c[h,1]:=b[h,1];
c[h,2]:=a[h,1];
end;
end;
 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
kt:=kt+t-1;
for i:=2 to t do
for z:=1 to kt do
if (a[1,i]<=c[1,z]) and (a[1,i]<=c[1,kt]) then
begin
for j:=1 to m do
begin
c[j,kt+1]:=c[j,kt];                                  
c[j,z+1]:=c[j,z];                                    
c[j,z]:=a[j,i];                                      
kt:=kt+1;                                            
end;                                                 
end                                                  
else                                                 
for j:=1 to m do                                     
begin                                                
c[j,kt+1]:=a[j,i];                                   
kt:=kt+1;                                            
end;                                                 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
  y:=k+t;
   for i:=1 to m do
  begin
   for j:=1 to y do
   write(c[i,j]:3);
   writeln;
  end;
 
  readkey;
  end.
Прошу найти и исправить ошибку в коде программы представляющем второй шаг достижения конечного результата(кусок кода выделен восклицательными знаками).
Заранее спасибо за помощь.
Миниатюры
Турбопаскаль.Двумерные массивы.Из двух матриц составить третью предвариельно сортируя перед занесением в 3 матрицу.  
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.06.2009, 12:06
Ответы с готовыми решениями:

На основе двух заданных матриц сформировать третью матрицу
Даны матрицы А(3х4) и С(3х4), элементы которых вычисляются по формулам: {a}_{ij}=\frac{i+j}{7.3(4i-2.5j)} ...

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

Умножение двух матриц, ответ записывается в третью матрицу
Реализовать алгоритм умножения двух матриц, заданных пользователем. Результат умножения записывается в третью матрицу....

2
2 / 1 / 0
Регистрация: 30.05.2009
Сообщений: 22
04.06.2009, 16:11
обьединяешь матрицы в третюю.
А уже потом сортируешь в полученной матрице числа!
0
valord
05.06.2009, 18:04
Я тоже хотел так сделать и сделал,но когда показал преподавателю она сказала с пеной у рта что так делать нельзя и надо так как в том сообщении,которое я здесь разместил.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2009, 18:04
Помогаю со студенческими работами здесь

Двумерные массивы: найти сумму двух матриц
Найти сумму двух матриц. Ввод массива организовать с использованием собственных компонентов.

Составить квадратную матрицу по образцу. Двумерные массивы С++
Помогите, пожалуйста, с заданием. Составьте квадратную матрицу по заданному образцу:

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

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

Из двух матриц сформировать третью
Заданы две матрицы A и B размерности NxN. Сформировать из них прямоугольную матрицу X размером , включая в первые N столбцов матрицу A, в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru