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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.01.2011, 15:44   #1
Koten
Новичок
Джуниор
 
Регистрация: 13.01.2011
Сообщений: 5
По умолчанию Программирование алгоритмов типовых задач в Turbo Pascal.

...Пожалуйста помогите написать программу..
очень надо... срочно!!..=(
...задание:
Обращение матрицы 4 на 4.
Прошу вас.... помогите...!!!=(
Koten вне форума
Старый 13.01.2011, 15:47   #2
Pein95
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 881
По умолчанию

что именно надо сделать и что не получаетса?
Pein95 вне форума
Старый 13.01.2011, 16:02   #3
Koten
Новичок
Джуниор
 
Регистрация: 13.01.2011
Сообщений: 5
По умолчанию

...чесно сказать я вообще ничего не знаю..
.. и ничего не получается... поэтому и обратилась за помощью...=(
Koten вне форума
Старый 13.01.2011, 16:15   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Нужно найти обратную матрицу...
Гугля и Вики Вам в помощь...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума
Старый 13.01.2011, 16:19   #5
Koten
Новичок
Джуниор
 
Регистрация: 13.01.2011
Сообщений: 5
По умолчанию

...что-то мне они не сильно помоги..=(

ну помогите мне пожалуйста... прошу вас!!!...=(((
...:******

Последний раз редактировалось Stilet; 13.01.2011 в 17:47.
Koten вне форума
Старый 13.01.2011, 16:57   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Чем можно помочь человеку который ничего не делает? ))
vovk вне форума
Старый 13.01.2011, 17:10   #7
Koten
Новичок
Джуниор
 
Регистрация: 13.01.2011
Сообщений: 5
По умолчанию

что я могу сделать.. если я не знаю как ее написать!..???..=(
...и с чего Вы взяли, что я ничего не делаю???
я попросила помощи у Вас не просто так...!!..=(
Koten вне форума
Старый 13.01.2011, 17:22   #8
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
я попросила помощи у Вас не просто так...!!..=(
Одно дело просить помочь, и совсем другое требовать решить.
Цитата:
...и с чего Вы взяли, что я ничего не делаю???
А где наработки?
Цитата:
что я могу сделать.. если я не знаю как ее написать!..???..=(
Тогда надо было сразу сюда
Говорите, Гугл и Вики не помогли? Я сделал всего один запрос и получил чёртову кучу ссылок.
Вот, например, нашёл:
Код:
uses crt;
const t=0.000001;{ограничиваем числа, близкие к нолю, на них делить}
type Tmatr=array[1..4,1..4]of real;
 
procedure Per(n,k:integer;a:Tmatr;var p:integer);{перестановка строк с макс. главным элементом}
var z:real;
    j,i:integer;
begin
z:=abs(a[k,k]);
i:=k;
p:=0;
for j:=k+1 to n do
  begin
    if abs(a[j,k])>z then
      begin
        z:=abs(a[j,k]);
        i:=j;
        p:=p+1;
      end;
  end;
if i>k then
for j:=k to n do
   begin
     z:=a[i,j];
     a[i,j]:=a[k,j];
     a[k,j]:=z;
   end;
end;
function znak(p:integer):integer;{изменение знака при перестановке строк матрицы}
begin
if p mod 2=0 then
znak:=1 else znak:=-1;
end;
function znak1(i,m:integer):integer;{изменение знака при перестановке строк при нахождении дополнений}
begin
if (i+m) mod 2=0 then
znak1:=1 else znak1:=-1;
end;
procedure opr(n,p:integer;a:Tmatr;var det:real;var f:byte);{нахождение определителя матрицы}
var k,i,j:integer;
    r:real;
begin
det:=1.0;f:=0;
for k:=1 to n do
   begin
     if a[k,k]=0 then per(k,n,a,p);
     det:=znak(p)*det*a[k,k];
     if abs(det)<t then
      begin
       f:=1;
       writeln('Обратной матрицы нет!');
       readln;
       exit;
      end;
     for j:=k+1 to n do
        begin
         r:=a[j,k]/a[k,k];
         for i:=k to n do
         a[j,i]:=a[j,i]-r*a[k,i];
        end;
   end;
end;
procedure opr1(n,p:integer;d:Tmatr;var det1:real);{нахождение определений для дополнений}
var k,i,j:integer;
    r:real;
begin
det1:=1.0;
for k:=2 to n do
   begin
     if d[k,k]=0 then per(n,k,d,p);
     det1:=znak(p)*det1*d[k,k];
     for j:=k+1 to n do
       begin
         r:=d[j,k]/d[k,k];
         for i:=k to n do
         d[j,i]:=d[j,i]-r*d[k,i];
       end;
   end;
end;
Procedure Peresch(n,p:integer;var b:Tmatr;det1:real;var e:Tmatr);{вычисление дополнений}
var i,m,k,j:integer;
    z:real;
    d,c:Tmatr;
begin
for i:=1 to n do
for m:=1 to n do
   begin
     for j:= 1 to n do {перестановка строк}
       begin
         z:=b[i,j];
         for k:=i downto 2 do
         d[k,j]:=b[k-1,j];
         for k:=i+1 to n do
         d[k,j]:=b[k,j];
         d[1,j]:=z;
       end;
     for k:=1 to n do {перестановка столбцов}
       begin
         z:=d[k,m];
         for j:=m downto 2 do
         c[k,j]:=d[k,j-1];
         for j:=m+1 to n do
         c[k,j]:=d[k,j];
         c[k,1]:=z;
       end;
     Opr1(n,p,c,det1);{вычисление определителей}
     e[i,m]:=det1*znak1(i,m);{вычисление дополнений}
   end;
end;
procedure Transp(a:Tmatr; n:integer;var at:Tmatr);{транспонирование матрицы}
var k,j:integer;
begin
for k:= 1 to n do
for j:=1 to n do
at[k,j]:=a[j,k];
end;
Procedure Proverka(a,b:Tmatr; n:integer;var c:Tmatr);{проверка - умножение прямой матрицы на обратную}
var k,j,i:integer;
    z:double;
begin
for k:=1 to n do
for j:=1 to n do
  begin
    c[k,j]:=0;
    for i:=1 to n do
      begin
        z:=a[i,j]*b[k,i];
        c[k,j]:=c[k,j]+z;
      end;
   end;
end;
procedure Vyvod(var a:Tmatr; n:integer);{вывод матриц на экран}
var k,j:integer;
begin
for k:=1 to n do
  begin
    for j:=1 to n do
    write(a[k,j]:7:2);
    writeln;
  end;
end;
var n,k,j,i,p:integer;{n-размер матрицы,k-счетчик по строкам,j-счетчик по столбцам,p-счетчик перестановок}
    a,at,b,c,e:Tmatr;{a-исходная, at-транспонированная, b-матрица дополнений, e-обратная, с-проверка}
    det,det1:real;{det-определитель исходной матрицы,det1-определители-дополнения}
    f:byte;{признак несуществования обратной матрицы}
begin
clrscr;
n:=4;
for k:=1 to n do
for j:=1 to n do
   begin
    write('a[',k,',',j,']=');
    readln(a[k,j]);
   end;
clrscr;
writeln('Исходная матрица:');
Vyvod(a,n);
Opr(n,p,a,det,f); {vychislenie opredelitelja}{считаем определитель}
if f=1 then exit;
Transp(a,n,b);  {транспонируем матрицу}
Peresch(n,p,b,det1,e);  {считаем дополнения}
writeln('Obratnaja matrica:');
for k:=1 to n do
for j:=1 to n do
e[k,j]:=e[k,j]/det; {создаем обратную матрицу}
Vyvod(e,n);
writeln('Proverka:');
Proverka(a,e,n,c);  {делаем проверку}
Vyvod(c,n);
readln
end.
_-Re@l-_ вне форума
Старый 13.01.2011, 17:47   #9
Koten
Новичок
Джуниор
 
Регистрация: 13.01.2011
Сообщений: 5
По умолчанию

...СПАСИБО БОЛЬШОЕ ЗА ПОМОЩЬ!!!...:*****
...=)

блин... эта программа слишком сложная...у меня ее не приняли..=(
.. а можно ее как-нибудь переделать попроще???
пожалуйста помогите... За ранее спасибо!!!!!..:*

Последний раз редактировалось Stilet; 14.01.2011 в 21:53.
Koten вне форума
Старый 14.01.2011, 20:33   #10
Shift_sk
Форумчанин
 
Регистрация: 20.11.2010
Сообщений: 221
По умолчанию

повернуть массив на 90 градусов?
www.bezperepl.at.ua
Код:
...
Shift_sk вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
turbo c++/ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ Svet_lana Помощь студентам 2 28.12.2011 15:18
Программирование типовых алгоритмов работы с элементами массивов. lammy Помощь студентам 0 25.05.2010 17:49
Программирование типовых алгоритмов Any13 Помощь студентам 6 06.12.2009 11:51
программирование численных алгоритмов решения простейших инженерно-экономических задач Оксана_В Паскаль, Turbo Pascal, PascalABC.NET 5 09.04.2009 19:10
Программирование алгоритмов циклической структуры для задач табулирования функций одной переменной с пост bbk_serg Помощь студентам 1 10.01.2009 18:16