Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Массивы 
:(
    Опции темы
Umar
Дата 4.6.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Помогите пожалуйста, ни как не пойму как и что тут сделать. Помогите мне пожалуйста просто завтра у меня зачёт и очень нужно.

Присоединённый файл ( Кол-во скачиваний: 43 )
Присоединённый файл  ________1.jpg 19,27 Kb
PM MAIL   Вверх
Umar
Дата 4.6.2009, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Неужели ни кто не поможет? smile 
PM MAIL   Вверх
BeKToP
Дата 5.6.2009, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 15.5.2008

Репутация: нет
Всего: нет



 чёт я не пойму 
Цитата

в заштрихованой части матриц

Это типа по диагоналям??
PM MAIL WWW ICQ   Вверх
Ozzя
Дата 5.6.2009, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.7.2004

Репутация: нет
Всего: 1



PM MAIL   Вверх
volvo877
Дата 5.6.2009, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



№2:
Код
const
  n = 3;
type
  box = array[1 .. n, 1 .. n] of real;
  matrix = array[1 .. 2, 1 .. 2] of box;

procedure fill(var b: box; value: integer);
var i, j: integer;
begin
  for i := 1 to n do
    for j := 1 to n do
      b[i, j] := value;
end;

procedure print(const mx: matrix);
var i, j, ib, jb: integer;
begin
  for ib := 1 to 2 do
    for i := 1 to n do begin
      for jb := 1 to 2 do
        for j := 1 to n do write(mx[ib, jb][i, j]:4:0);
        writeln;
      end;
  writeln;
end;

var
  mx: matrix;
  i, j: integer;
  T: box;
begin
  for i := 1 to 2 do
    for j := 1 to 2 do fill(mx[i, j], 2*(i - 1) + j);
  print(mx);

  { #1 }
  T := mx[1, 1]; mx[1, 1] := mx[2, 2]; mx[2, 2] := T;
  T := mx[1, 2]; mx[1, 2] := mx[2, 1]; mx[2, 1] := T;

  {#2}
  (*
  T := mx[1, 1];
  mx[1, 1] := mx[2, 1]; mx[2, 1] := mx[2, 2];
  mx[2, 2] := mx[1, 2]; mx[1, 2] := T;
  *)

  print(mx);
end.

PM MAIL   Вверх
Umar
Дата 5.6.2009, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



BeKToP
Цитата(BeKToP @  5.6.2009,  01:35 Найти цитируемый пост)
Это типа по диагоналям?? 


Наверное, точно не знаю.

Добавлено через 49 секунд
volvo877
А объяснить сможите?
PM MAIL   Вверх
volvo877
Дата 6.6.2009, 01:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



А что тут объяснять? Создается не просто массив, а массив из 4-х "четвертей", которые и надо поменять местами. Паскаль позволяет сложные структуры присваивать друг другу обычным оператором := 

Поэтому чтобы поменять "четверти" в указанном порядке достаточно нескольких операций присваивания... (я всегда говорил, что правильно сконструированные типы избавляют от многих проблем, вот еще одно подтверждение этому).

Основная проблема в данной программе - правильно вывести матрицу на печать, она решается процедурой print. Кроме этого, что там может быть непонятно? Как поменять местами 2 переменные, знаешь? Через временную переменную, правда? Вот точно так же меняешь местами и куски матрицы...
PM MAIL   Вверх
Umar
Дата 6.6.2009, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



volvo877
А это какой вариант А или В?
PM MAIL   Вверх
volvo877
Дата 6.6.2009, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Раскомментированный - A, закомментированный - B. 
PM MAIL   Вверх
Umar
Дата 6.6.2009, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Ozzя
Цитата(Ozzя @  5.6.2009,  08:32 Найти цитируемый пост)
№ 1
http://forum.vingrad.ru/forum/topic-262005...1%82%D0%B5.html 

Ozzя там помоем не всё?
PM MAIL   Вверх
Umar
Дата 7.6.2009, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Аууу
PM MAIL   Вверх
Ozzя
Дата 8.6.2009, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.7.2004

Репутация: нет
Всего: 1



Цитата

Ozzя там помоем не всё? 

Как не всё? Ниже/выше главной диагонали - есть. Найти min- есть. Подправь под себя и всё.
PM MAIL   Вверх
Umar
Дата 8.6.2009, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Цитата(Ozzя @  8.6.2009,  07:46 Найти цитируемый пост)
Цитата

А это точно моя задача?
PM MAIL   Вверх
Ozzя
Дата 9.6.2009, 07:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 19.7.2004

Репутация: нет
Всего: 1



Нет, напутал. Если верить рисунку, тебе нужно найти макс. элемент, находящийся на  главной и побочной диагоналях.

Код

{ главная }
max:=a[1,1];
For i:=1 To n Do 
  if  a[i, i]>max then
    max:=a[i,i];

{ побочная }
For i:=1 To n Do 
  if  a[i, n+1-i]>max then
    max:=a[i, n+1-i];

PM MAIL   Вверх
Umar
Дата 10.6.2009, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.4.2009

Репутация: нет
Всего: нет



Ozzя
А продолжение на страничке куда вы мне указали?
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.