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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2010, 13:17   #1
Pixma
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 11
По умолчанию Оборот матрицы

Всем привет. Вот написал код, но он работает не правильно.
Задание звучит так.
Перевернуть матрицу вдоль вертикальной оси.
Вот мой код. Делфи!
procedure vertical(const m:Tmatr;ncol,nrow:integer;var k:tmatr);
var i,j:integer;
begin
for i:=0 to nrow do
for j:=0 to ncol div 2 do
k[i,j]:=m[i,ncol-j+1];
end;
Сам вызов при нажатии на кнопку.
procedure TForm1.Button4Click(Sender: TObject);
var m,k:tmatr;nrow,ncol:integer;sg:tstr inggrid;
begin
sg:=stringgrid2;
getMatrFromGrid(m,nrow,ncol,SG);
vertical(m,ncol,nrow,k);
showMatrinSG(k,ncol,nrow,SG);
end;


Матрицу выводит, но не оборачивает вдоль вертикальной оси, а просто ставит новые числа. Кто знает, напишите в чём проблема?
Pixma вне форума Ответить с цитированием
Старый 05.12.2010, 13:38   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
procedure vertical(const m:Tmatr;ncol,nrow:integer;var k:tmatr);
var i,j:integer;
begin
for i:=0 to nrow do
for j:=0 to ncol div 2 do begin
m[i,j]:=m[i,ncol-j+1]+m[i,j];
m[i,ncol-j+1]]:=m[i,j]-m[i,ncol-j+1];
m[i,j]:=m[i,j]-m[i,ncol-j+1];
end;
end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 05.12.2010, 13:54   #3
Pixma
Пользователь
 
Регистрация: 28.10.2010
Сообщений: 11
По умолчанию

[Error] Unit2.pas(114): Left side cannot be assigned to
пишет на первую строку.
m[i,j]:=m[i,ncol-j+1]+m[i,j];
Это я так понял, нужно переменную Buf ввести, что бы можно было поменять?

И даже так если сделать, то оно оборачивает относительно главной диаганали, а не веритикальной оси.

Последний раз редактировалось Pixma; 05.12.2010 в 13:57.
Pixma вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прием передача сообщения от сервера клиенту и на оборот Lokos Работа с сетью в Delphi 4 24.08.2010 18:24
Матрицы:функция изменения порядка столбцов матрицы Fajyz Помощь студентам 0 13.01.2010 09:40
На главную диагональ матрицы поместить наибольшие элементы этой матрицы mivel Помощь студентам 2 23.12.2009 21:19
ФРС США снизила учетную ставку до 3.5% - большие деньги выходят в оборот Alar Свободное общение 7 24.01.2008 20:15