IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> [Pascal]Матрица
fly
сообщение 8.05.2007 20:57
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Помгите с задачкой плиз.Условие такое:
Вводятся два массива символов MxK и MxT.Объединить их слобцы так,чтобы в массиве-результате в первой строке элементы получились упорядоченными по возрастающей.

Пример
Вводится массив MxK размером 2x2

1 2
3 4

Вводится массви MxT размером 2x4

1 2 3 4
5 6 7 8

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


Вот пытылся делать,но застопорился после ввода данных.Подскажите что делать после ввода данных?


var
a:array[1..10,1..10] of integer;
b:array[1..10,1..10] of integer;
c:array[1..100,1..50] of integer;
n,m,k,z,f,i,j:integer;
begin
n:=2;
m:=6;
writeln('vvodite kol-vo stolbcov massiva A');
readln(k);
for i:=1 to n do
writeln('vvodite kolichestvo stolbcov massiva B');
readln(z);
for i:=1 to n do
begin
for i:=1 to n do
writeln('vvodite',k,'chisel');
for i:=1 to n do begin
for j:=1 to n do begin
Write('...');
Read(a[i,j])
end;
writeln('vvodite',z,'chisel');
for i:=1 to n do begin
for j:=1 to n do begin
Write('...');
Read(B[i,j]);
end;
end;




Сообщение отредактировано: fly - 8.05.2007 20:58
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Sto
сообщение 8.05.2007 21:44
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Илья

Репутация: -  2  +


Напиши результат для этого примера. Или уточни задание, а то ничего не понятно что куда копировать.

Сообщение отредактировано: Sto - 8.05.2007 21:45
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bard
сообщение 8.05.2007 21:53
Сообщение #3


Учиться, учиться еще раз учиться
***

Группа: Пользователи
Сообщений: 158
Пол: Мужской
Реальное имя: Яшар

Репутация: -  3  +


Цитата

Напиши результат для этого примера. Или уточни задание, а то ничего не понятно что куда копировать.


да точно yes2.gif ... объясни задачу толком... norespect.gif


--------------------
Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
fly
сообщение 9.05.2007 0:10
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


С клавилатуры должно вводится два массива MxK и MxT.Размерность этих массивов мы должны указывать сами.Элементы этих двух массиов мы должны скопировать по возрастающей в другой(Третий) массив,но только в первую строку.Размерность третьего массива вводится с клавилатры не должна.

Приведу пример:
Вводится размер массива A(MxK)
Вводится размер массива B(MxT)
Вводятся элементы массива A(MxK)
Вводятся элементы массива B(MxT)
Элементы массивов A(MxK) и B(MxT) копирются по возрастающей в первую строку третьего массива.

Я пытылся делать,но застрял после ввода данных.Подскажите что нужно делать после ввода данных?

Сообщение отредактировано: fly - 9.05.2007 0:10
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Sto
сообщение 9.05.2007 0:37
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 70
Пол: Мужской
Реальное имя: Илья

Репутация: -  2  +


Копируеш все значения в первую строку 3-го масива и упорядочиваеш его по возрастанию.

P.S.: Может это и не правильное решение потому что, условие до конца я так и не понял.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 9.05.2007 1:49
Сообщение #6


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Сортировка слиянием.
Поищи по форуму...
Только придется таскать столбцы целиком, а не отдельные элементы.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
fly
сообщение 9.05.2007 13:52
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Вот что у меня получилось,но почемуто ничего не работает.Скажите где я ошибаюсь?


Type
arrType=array[1..50,1..50] of integer;
var
a:array[1..10,1..10] of integer;
b:array[1..10,1..10] of integer;
n:Integer;
p,m,k,z,f,i,j,t:integer;
d:arrType;
Procedure merge(Var ar: arrType);
Procedure Slit( k, q: Integer );
begin
p:=2;
m:=6;
writeln('vvodite kol-vo stolbcov massiva A');
readln(k);
for i:=1 to p do
writeln('vvodite kolichestvo stolbcov massiva B');
readln(z);
for i:=1 to p do
begin
for i:=1 to p do
writeln('vvodite',k,'chisel');
for i:=1 to p do begin
for j:=1 to p do begin
Write('...');
Read(a[i,j])
end;
writeln('vvodite',z,'chisel');
for i:=1 to p do begin
for j:=1 to p do begin
Write('...');
Read(B[i,j]);
end;
end;
begin
m := k + (q-k) div 2;
i := k; j := Succ(m); t := 1;
While (i <= m) and (j <= q) Do Begin
If ar[j] <= ar[j] Then Begin
d[T] := ar[i,j]; Inc(i,j)
end
Else Begin
d[T] := ar[j]; Inc(j)
end;
Inc(T)
end;
While i <= m Do Begin
d[T] := ar[j]; Inc(j); Inc(T)
end;
For i := 1 to Pred(T) Do
ar[Pred(k+i)] := d[i]
end;
Procedure Sort(i, j: Integer);
Var T: integer
begin
If i >= j Then Exit;
If j-i = 1 Then Begin
If ar[j] < ar[i] Then Begin
T := ar[i]; ar[i] := ar[j]; ar[j] := T
end
end
Else Begin
Sort(i, i + (j-i) div 2);
Sort(i + (j-i) div 2 + 1, j);
Slit(i, j)
end;
end;
Begin
Sort(1, n);
end;
writeln(Sort(1, n));
end.



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:46
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"