Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.01.2014, 23:36   #1
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию поменять элементы относительно побочной диагонали и вывести на экран(delphi)

Ввести целочисленный массив 3х3, поменять элементы относительно побочной диагонали и вывести на экран.

Если я правильно сделал,как нам второй массив вывести в StringGrid2?
Код:
procedure TForm1.Button1Click(Sender: TObject);

var i,j,x:Integer; a:array[1..3,1..3] of Integer;

begin

for i:=1 to 3 do
for j:=1 to 3 do
a[i,j]:=StrToInt(StringGrid1.Cells[i-1,j-1]);
  for i:=1 to 3 do
    for j:=1 to 3 do
    begin
      x:=a[i,j];
  a[i,j]:=a[3-j+1,3-i+1];
  a[3-j+1,3-i+1]:=x;

    end;
end;
tane вне форума Ответить с цитированием
Старый 25.01.2014, 00:04   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Не проверял:
Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  n = 3;
var
  i, j, x: Integer;
  a: array[1..n, 1..n] of Integer;
begin
  for i := 1 to n do
    for j := 1 to n do
        a[i, j] := StrToInt(StringGrid1.Cells[j - 1, i - 1]);
  for i := 1 to n - 1 do
    for j := 1 to n - i do
    begin
      x := a[i,j];
      a[i,j] := a[n - j + 1, n - i + 1];
      a[n - j + 1, n - i + 1] := x;
    end;
  StringGrid1.RowCount := 2 * n;
  for i := 1 to n do
    for j := 1 to n do
      StringGrid1.Cells[j - 1, n + i - 1] := IntToStr(a[i, j]);
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 25.01.2014, 00:37   #3
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию

Почему в задание так и не написать - "транспонирование матрицы".
tane вне форума Ответить с цитированием
Старый 25.01.2014, 00:40   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Это только автору известно. Кто-то может не знать слова "транспонирование". Или так задание кажется более сложным для понимания. Или автор сам не знает слова "транспонирование".
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 25.01.2014, 00:45   #5
tane
Пользователь
 
Регистрация: 14.12.2013
Сообщений: 64
По умолчанию

Спасибо большое,работает.
tane вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица. найти наибольшие элементы среди стоящих на главной и побочной диагоналях и поменять их местами (Delphi) simak12345 Помощь студентам 4 17.02.2013 20:48
как описать в массиве элементы ниже побочной диагонали??? Виталий888 Помощь студентам 1 07.06.2011 23:09
Элементы выше побочной диагонали по возрастанию. rwss gle Паскаль, Turbo Pascal, PascalABC.NET 9 29.03.2011 20:18
Повернуть матрицу относительно побочной диагонали Purr Помощь студентам 5 18.05.2010 18:56
Транспонирование матрицы относительно побочной диагонали CodeExpert Помощь студентам 2 18.01.2010 10:28