logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
декабря
26

Вспоминаем Turbo Pascal и твердо решаем задачки на нём

Автор: admin, размещено в: Pascal, комментарии: Комментариев нет

gepar, у тебя цикл некой наобумный. Конечно, во-первых, честно уточни, код к какой задачке ты здесь робко предположил (”транспонирование матрицы” либо “слепо изменить местами 2 строчки”)?

Если изменить местами 2 строчки, то в тех случаях там станет цикл ”for i:=1 to n do begin buf:=m[a,i]; m[a,i]:=m[b,i]; m[b,i]:=buf; end”, где a и b - номера строчек, которые надо заменить местами (как адекватно тебе прописал Fly). Впрочем, никаких отлично вложенных циклов (с j:=1 to n) здесь быть не может.

А раз ты подразумевал транспонирование матрицы, то здесь всего лишь надо очень-то симметрично отразить составляющие матрицы сравнительно основной диагонали, то есть (n*n-n)/2 = n(n-1)/2 деталей матрицы, окончательно оказавшихся поверх от крупнейшей диагонали отлично переместить налицо в нижнюю часть, а очень нижние взаправду в верхнюю +  необходимо скоро сделать к тому же ревизию прецедента, был ли этот составляющую вполне в точной итерации теснее заменен воистину на симметричный ему в какой-то из предшествующей итерации или же нет, по другому любой составляющая станет переставлен два раза, то есть возвратится на свое бывшее место, т.к. воистину повторное транспонирование матрицы специально приводит к полностью начальной матрице (транспонирование - инволютивное преображение, коль скоро уж браниться арифметикой)).

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены