• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Программка на Pascal'e ABC. Помогите пожалуйста, завтра сдавать.

Артурка

Ученик
Регистрация
22 Ноя 2010
Сообщения
5
Реакции
0
Баллы
0
Программка на Pascal'e ABC. Помогите пожалуйста, завтра сдавать.

1111111111111111111111111111111111111111111.webp Здравствуйте, на картинке собственно само условие, что нужно сделать. Нужно получить новую матрицу B из матрицы A путем перестановки элементов как показано на схемах.. Мучаюсь сижу весь день, завтра сдавать. Помогите пожалуйста. Вот что я написал для пункта а. Взял матрицу 2х2, чтобы было легче проверить правильность программы..

Program matrix;
Const m=2;
Var i,j,k,y:integer;
A,B:array[1..m,1..m]of integer;
Begin
for i:=1 to m do begin
for j:=1 to m do begin
A[i,j]:=10-random(20);
write('A[',i,',',j,']=',A[i,j],' ');
end;
writeln;
end;
write('-------------------------------------------------------------------------------------------------');
writeln;
for i:=1 to m do begin
for j:=1 to m do begin
if (i<j) or (j=1) and(i>1) then begin
y:=A[i,j];
A[i,j]:=A[i+1,j-1];
A[i+1,j-1]:=y;
end;
if (i=j) or (i>j) and (i>1) then begin
y:=A[i,j];
A[i,j]:=A[i+1,j+1];
A[i+1,j+1]:=y;
end;

B[i,j]:=A[i,j];
write('B[',i,',',j,']=',B[i,j],' ');
end;
writeln;
end;
end.

//Вроде как бы меняет элементы, но проблема заключается в том что используя A[i+1,j+1]; я выхожу за границу матрицы..
 
Назад
Сверху