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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2012, 15:47   #1
[ Senya Black ]
Пользователь
 
Аватар для [ Senya Black ]
 
Регистрация: 11.04.2012
Сообщений: 18
По умолчанию Написать и протестировать функцию

В Pascal, помогите=(
Написать и протестировать функцию, переставляет в обратном порядке элементы главной диагонали квадратной матрицы.
[ Senya Black ] вне форума Ответить с цитированием
Старый 08.05.2012, 15:49   #2
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

В чём проблема? Про эти квадратные матрицы и диагонали 100500 тем уже.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 08.05.2012, 15:50   #3
[ Senya Black ]
Пользователь
 
Аватар для [ Senya Black ]
 
Регистрация: 11.04.2012
Сообщений: 18
По умолчанию

просто не знаю где найти.... помогите пожалуйста
[ Senya Black ] вне форума Ответить с цитированием
Старый 08.05.2012, 16:18   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
procedure Swap (var SqMatrix: TSqMatrix, const rows: integer);
var
 i: integer;
begin
  for i := 1 to (rows div 2) do
  begin
    SqMatrix[i,i] := SqMatrix[i,i] xor Sqmatrix[rows - i + 1, rows - i + 1];
    Sqmatrix[rows - i + 1, rows - i + 1] := SqMatrix[i,i] xor Sqmatrix[rows - i +1 , rows - i + 1];
    SqMatrix[i,i] := SqMatrix[i,i] xor Sqmatrix[rows - i + 1, rows - i + 1];
  end;
end;
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.05.2012, 17:02   #5
[ Senya Black ]
Пользователь
 
Аватар для [ Senya Black ]
 
Регистрация: 11.04.2012
Сообщений: 18
По умолчанию

спасибо я уже понял)))))))
[ Senya Black ] вне форума Ответить с цитированием
Старый 08.05.2012, 17:03   #6
[ Senya Black ]
Пользователь
 
Аватар для [ Senya Black ]
 
Регистрация: 11.04.2012
Сообщений: 18
По умолчанию

А что если так????

Код:
const
  nmax=100;
type
  tArr=array[1..nmax,1..nmax] of integer;
  
procedure change(n1: integer; var ar: tArr);
var i,j,tmp: integer;
begin
  for i:=1 to n1 div 2 do
    for j:=1 to n1 div 2 do
      begin
      if i=j then
        begin
          tmp:=ar[i,i];
          ar[i,i]:=ar[n1-i+1,n1-i+1];
          ar[n1-i+1,n1-i+1]:=tmp;
          writeln('замена:');
        end;
  end;
end;
 
var
  a: tArr;
  i,j,n: integer;
 
begin
  randomize;
  writeln('Введите размер матрицы: ');
  readln(n);
  writeln('Матрица:');
  for i:=1 to n do
  begin
    for j:=1 to n do
    begin
      a[i,j]:=random(99)+1;
      write(a[i,j]:4);
    end;
    writeln;
  end;
  writeln;
  
  change(n,a);
  
  for i:=1 to n do
  begin
    for j:=1 to n do
      write(a[i,j]:4);
    writeln;
  end;
  readln;
end.

Последний раз редактировалось ACE Valery; 08.05.2012 в 17:47.
[ Senya Black ] вне форума Ответить с цитированием
Старый 08.05.2012, 17:16   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
А что если так????
ну чтоже посмотрим
Цитата:
Код:
for i:=1 to n1 div 2 do
 for j:=1 to n1 div 2 do
глупо не кчему крутить два цикла! для того что бы потом делать такое
Цитата:
Код:
if i=j then
как бе у элементов главной диагонали индекс строки и столбца совпадают так что проще через один цикл как уменя (но это дело принципа, кому как удобно)
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.05.2012, 18:51   #8
[ Senya Black ]
Пользователь
 
Аватар для [ Senya Black ]
 
Регистрация: 11.04.2012
Сообщений: 18
По умолчанию

Спасибо=) Сейчас попробую твоим методом, а то уже голова на практике совсем не варить)
[ Senya Black ] вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать и протестировать функцию малинка Помощь студентам 0 01.06.2011 17:31
Написать функцию Krechet Помощь студентам 0 20.03.2011 16:40
написать функцию akaaka Общие вопросы Delphi 2 22.05.2010 12:59
...Написать и протестировать 2 функции... fuukah Помощь студентам 7 29.12.2009 17:08