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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
fly
сообщение 9.05.2007 13:52
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 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 18:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"