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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> C++ to Turbo Pascal 7.0, help 
:(
    Опции темы
Lomiren
Дата 29.12.2004, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



=====
есть прога на Си: вычисление Сист Лин Уравн с помощью Обратной матрици...
помогите ее па паскаль переписать
===
Код

//MARTIX by Lomiren...
#include <iostream.h>
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <complex.h>

double Reload(double MatrixR[20][20], int Len)
{
// ENTER THR MARTRIX
//cout << "\nENTER THE MATRIX\n";
int l=0,k=0,i=0,j=0,c=0;
double MatrixY[20][20];
double p=1,s=0,z=0;
for (i=0;i<Len;i++)
{
 MatrixY[i][0]=MatrixR[i][0];
 for (j=1;j<Len;j++)
 {
   if(i>=j)
   {
     k=j;
   }
   else
   {
     k=i;
   }
   s=0;
   for (l=0;l<k;l++)
   {
     s=s+MatrixY[i][l]*MatrixY[l][j];
   }
   MatrixY[i][j]=MatrixR[i][j]-s;
   if (j>i)
   {
     if(MatrixY[i][i]!=0)
     {
MatrixY[i][j]=MatrixY[i][j]/MatrixY[i][i];
     }
     else
     {
MatrixY[i][j]=0;
     }
   }
 }
   z=MatrixY[i][i];
   if(z==0)
   {
     p=0;
     goto g28;
   }
   else
   {
   g23:if (abs(z)>=1)
   {
     goto g25;
   }
   z=z*10;
   c=c-1;
   goto g23;
   g25:p=p*z;
   g26:if (abs(p)<=10)
   {
     goto g28;
   }
   p=p/10;
   c+=1;
   goto g26;
 }
  g28:

//cout << "vel opred D=p*10 c, gde p="<<p<<"c="<<c;
}
double Back=0;
if (p!=0)
{
Back=p*pow(10,c);
}
else
{
Back=0;
}
return Back;

// EXIT THE MATRIX

}
main()
{
clrscr();
cout << "\n  Wake up Neo...\n";
int MaxLen,i,j;
cout << "\n  Enter max lenght of matrix\n";
cin >> MaxLen;
double Matrix[20][20];
double MatrixA[20][20];
double MatrixB[20];
double MOpr;
for (i=0;i<MaxLen;i++)
{
 for(j=0;j<MaxLen;j++)
 {
   cin >> Matrix[i][j];
 }
 cin >> MatrixB[i];
}
MOpr=Reload(Matrix,MaxLen);
cout <<"\nMatrix:\n";
for (i=0;i<MaxLen;i++)
{
 for(j=0;j<MaxLen;j++)
 {
   cout << Matrix[i][j]<<" | ";
 }
 cout<< MatrixB[i]<<"\n";
}
cout << "\n=====\n";
int counter=0,DRow=0,DCol=0,Row=0,Col=0;
double Opr[20][20];
// ANTI MATRIX
for (DRow=0;DRow<MaxLen;DRow++)
{
for (DCol=0;DCol<MaxLen;DCol++)
{
Row=0;Col=0;
for (i=0;i<MaxLen;i++)
{
 for(j=0;j<MaxLen;j++)
 {
   if ((i!=DRow) & (j!=DCol))
   {
     MatrixA[Row][Col]=Matrix[i][j];
     Col++;
   }
  }
 Col=0;
 if(i!=DRow)
 {
   Row++;
 }
}
//cout <<"\n ROW="<<Row<<"\n COL="<<Col;

/*cout <<"\nMatrix A:\n";
for (i=0;i<Row;i++)
{
 for(j=0;j<Row;j++)
 {
   cout << MatrixA[i][j]<<" | ";
 }
 cout<<"\n";
}
//cout << "\n=====\n";
// ENTER THE MATRIX*/
Opr[DRow][DCol]=pow(-1,(DRow+DCol))*Reload(MatrixA, Row);
cout<<"\nOPR="<< Opr[DRow][DCol]<<" | ";
//cout <<"\nOPR= "<<Opr;

}

//cout<<"\n";
}

// END ANTI MATRIX
double X[20], temp=0;
cout <<"\n MOPR="<<MOpr;
for (i=0;i<MaxLen;i++)
{
 temp=0;
 for (j=0;j<MaxLen;j++)
 {
   cout<<"\n B="<<MatrixB[j]<<" opr="<<Opr[j][i];
   temp=temp+Opr[j][i]*MatrixB[j];
 }
   cout<<"\n temp="<<temp<<" * "<<MatrixB[i];


 X[i]=(1/MOpr)*temp;
 cout <<"\n X="<<X[i];
}
return 0;
}



PM MAIL   Вверх
Кругой_Ной
Дата 3.1.2005, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



smile
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 3.1.2005, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Кругой_Ной
М
 
Пост без текста и смысловой нагрузки!!! Нехорошо, еще раз замечу...

PM   Вверх
Romtek
Дата 7.1.2005, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ужасный код! Сплошь GoTo...
Мог бы переписать его, но уж лучше тогда заново. В общем, нет никакого желания разбираться в этом коде.
Посоветую только ссылку на транслятор из Си в Паскаль:
https://sourceforge.net/projects/c2pas/
--------------------
Romiras HomeLab - материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и пр.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

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

3. Оффтопить

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

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

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


 




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


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

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