Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ двухмерные массивы

Автор: Tanchik 8.11.2009 10:50

как можно поменять местами строки с четными и нечетными номера в двухмерном массиве

Автор: Lapp 8.11.2009 11:22

Цитата(Tanchik @ 8.11.2009 6:50) *
как можно поменять местами строки с четными и нечетными номера в двухмерном массиве
По-всякому. Например, вот так:
const
n1= 0;
n2= 10;
m1= 1;
m2= 5;

type
tA= array[n1..n2,m1..m2]of integer;

var
a: tA;
i,j,b: integer;

begin
for i:=n1 to n2 do for j:=m1 to m2 do a[i,j]:=Random(100);
for i:=n1 to n2 do begin
for j:=m1 to m2 do Write(a[i,j]:4);
WriteLn
end;
WriteLn;

i:=n1;
while i<n2 do begin
for j:=m1 to m2 do begin
b:=a[i,j];
a[i,j]:=a[i+1,j];
a[i+1,j]:=b
end;
i:=i+2
end;

for i:=n1 to n2 do begin
for j:=m1 to m2 do Write(a[i,j]:4);
WriteLn
end;
ReadLn
end.




Автор: Tanchik 8.11.2009 13:12

А если число строк нечетное то в последней строке программа выводит нули, а должна без изменений вывести последнию строчку

Автор: andriano 8.11.2009 13:52

Цитата(Tanchik @ 8.11.2009 9:12) *
а должна без изменений вывести последнию строчку
Из условия задачи это не следует.
Хотя, с моей точки зрения, программа все равно работает неправильно: она должна, обнаружив, что количество строк нечетно, сообщить об этом пользователю и не проводить никакой обработки массива. Впрочем, от программы, демонстрирующей тот или иной способ обработки данных, это не требуется. Так же, как IMHO не требуется, чтобы она вообще компилировалась.

А вообще, нужно сразу полностью формулировать условие, а не дополнять его уже после того, как предъявлено готовое решение.

PS. Кстати, посмотрел код и так и не понял, откуда там могут браться нули. Да и количество строк в опубликованном варианте как раз нечетное.

Автор: Lapp 8.11.2009 14:24

Цитата(Tanchik @ 8.11.2009 9:12) *
А если число строк нечетное то в последней строке программа выводит нули, а должна без изменений вывести последнию строчку
Tanchik, если тебе не трудно, пожалуйста, приведи полный вариант программы, где у тебя получается описанный тобой эффект. Спасибо.

Автор: Tanchik 9.11.2009 12:11

Спасибки большое все получилось smile.gif

Автор: Lapp 9.11.2009 13:37

Цитата(Lapp @ 8.11.2009 10:24) *
Tanchik, если тебе не трудно, пожалуйста, приведи полный вариант программы, где у тебя получается описанный тобой эффект. Спасибо.

Цитата(Tanchik @ 9.11.2009 8:11) *
Спасибки большое все получилось smile.gif

Видимо, оказалось трудно. Что ж, я тебе больше не ответчик..
Я отвечаю на вопросы при условии, что отвечают на мои тоже.