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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2007, 12:45   #1
RECREATOR
Пользователь
 
Регистрация: 29.11.2007
Сообщений: 26
По умолчанию Как посчитать матрицу?

Дана матрица размера n*n. Развернуть ее на 90°, на 180°, на 270°. Сосчитать сумму элементов главной диагонали всех матриц и найти их определители
RECREATOR вне форума Ответить с цитированием
Старый 29.11.2007, 12:52   #2
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

вот разворот матрицы на 90 градусов на 180 и 270 делай по такому же принципу
Вложения
Тип файла: rar mas_z10.rar (3.9 Кб, 117 просмотров)
I like WPF
kommunist вне форума Ответить с цитированием
Старый 29.11.2007, 13:01   #3
kommunist
C# developer
Форумчанин
 
Аватар для kommunist
 
Регистрация: 03.10.2007
Сообщений: 393
По умолчанию

Код:
program diag;
uses crt;
const n = 2;
type  matrica = array[1..n,1..n] of byte;
var
   a:matrica;
   i:integer;
   j:integer;
   d:integer;
   summ:integer;
begin
   randomize;
   clrscr;
   for i:= 1 to n do
begin
   for j:= 1 to n do
begin
   a[i,j]:=random(10);
   write(a[i,j]:2,' ');
end;
   writeln;
end;
   writeln;
   summ:=0;
      for i:= 1 to n do
begin
   for j:= 1 to n do
begin
    if i = j
    then
    inc(summ,a[i,j]);
end;
end;
    write(summ);

    writeln;
    writeln;

    d:= a[1,1] * a[2,2] - a[1,2]* a[2,1];
    writeln('opredelitel matrici','-',d);
readln;
end.
I like WPF
kommunist вне форума Ответить с цитированием
Старый 29.11.2007, 13:51   #4
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
Восклицание Замечание

Цитата:
вот разворот матрицы на 90 градусов на 180 и 270 делай по такому же принципу
Приведенный пример зеркалит матрицу а не переворачивает.
Вот поворот:
поворот матрицы.zip
Sibedir вне форума Ответить с цитированием
Старый 29.11.2007, 17:13   #5
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Тоже с ошибками. При поворотах изменяется содержание матрицы.
puporev вне форума Ответить с цитированием
Старый 30.11.2007, 06:45   #6
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
Восклицание ОГОГО!!!

Мужики (ну и девушки, если есть такие), подскажите, что случилось. Встречаюсь с этим уже который раз. В ответе #4 вложен исходник примера. Вчера на работе, когда его создавал, все работало правильно. Сегодня жалуются на его несостоятельность. Проверил сегодня дома. Точно, не правильно работает.
В обработчике кнопки:

Код:
const
  n = 6;

type
  TArray = array [0..n, 0..n] of Integer;

var
  a: TArray;

...

procedure TForm1.btn90Click(Sender: TObject);
var
  i, j: Integer;
  rab: TArray;
begin
  for i := 0 to n do
    for j := 0 to n do begin
      rab [i, j] := a [n-j, i];
    end;
  a := rab;
...
end;
На первом же ветке цикла переменная i = 7
Sibedir вне форума Ответить с цитированием
Старый 30.11.2007, 07:02   #7
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

> array [0..n, 0..n] of Integer;
первый раз такое вижу .. ни то ни се
Берегите друг друга!
Virtson вне форума Ответить с цитированием
Старый 30.11.2007, 07:07   #8
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Для правильного поворота матрицы надо исправить только 2 строчки в обработчике формы:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  i, j: Integer;
begin
  StringGrid1.ColCount := n+1;
  StringGrid1.RowCount := n+1;
...
end;
Sibedir вне форума Ответить с цитированием
Старый 30.11.2007, 07:10   #9
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Для Virtson:
Цитата:
Сообщение от RECREATOR Посмотреть сообщение
Дана матрица размера n*n
Я так и сделал.
Sibedir вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как составить матрицу корреспонденции? Alex2008 Помощь студентам 3 25.04.2008 19:17
Задача на матрицу. Fest Помощь студентам 2 16.12.2007 05:54
Задачка на матрицу. Саня895 Помощь студентам 1 11.12.2007 08:45
загрузка картинки в матрицу Apophis Общие вопросы Delphi 6 29.11.2007 18:57
Перевод строки в матрицу Chepa Общие вопросы Delphi 14 28.01.2007 00:13