Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

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

Ответ
 
Опции темы
Старый 09.01.2018, 16:53   #1
clav9nski
Пользователь
 
Аватар для clav9nski
 
Регистрация: 04.07.2017
Сообщений: 33
Репутация: 10
По умолчанию ИЗ Си в Python

ребят перепробовал все, но из за скудости ума и образования не получается переписать старый код на си в питон
Код:

int nss,i,nn,i1,j,j1,n21,n22,n23,nll,nng,i2,i3,i4,i5,i6,i7,irt;
 double a,b,p1,p2,p3,p4,p5,p6,p7,p8,p9,*ss,*ggg,*ssm,*ggm,ff[6],pi2,
  xxm[3],*pss,*pggg,bb[2],xm3;
nss=2;
ss = new double[5*nss];
for(i=0;i<nss;i++) s[i]=0.;
 for(i=0;i<5*nss;i++) ss[i]=0.;
nn=NN; //NN=30
p1=(b-a)/nn;
 for(i=0;i<=nn;i++) 
 {
  if(i==0) 
  {
	  pss=ss;
	  pggg=ggg;
	  i1=0; 
  }
  else if(i==nn) 
  { 
	  pss=ss+nss;
	  pggg=ggg+nll;
	  i1=1; 
  }
       else if(i%2)
	   {
		   pss=s;
		   pggg=gg; 
		   i1=3; 
	   }
            else
			{
				pss=ss+2*nss;
				pggg=ggg+2*nll;
				i1=2;
			}
  p2=exp(a+i*p1);
  p3=(*fr)(xm[0]*p2/pi2,pfr,-1);
  xxm[0]=p2;
  if(mieul1(xxm,ang,nng,ssm,nll,ggm)<0)
   { /* not enough memory error */ irt=-1; goto m1; }
  ff[i1]+=p3*p2;
  p4=p2*p2*p2;
  pss[0]+=ssm[0]*p3*p4;
  pss[1]+=ssm[1]*p3*p4;
в питон:
    for i in range(0,31):
        if i==0:
            pss = ss
            pggg=ggg
            i1=0
            
        elif i==30:
            for j in range(0,len(ss)):ss[j] += nss
            pss= ss
            for j in range(0,len(ggg)):
                ggg[j] += nll
            pggg=ggg
            i1=1

        elif i%2:
            pss=s
            pggg=ggg
            i1=3
            
        else:
            for j in range(0,len(ss)):ss[j] += 0#2*nss
            pss=ss
            pggg=2*legendr
            i1=2
            #print(pss[0],i)
        #print(i)
        p2=e(a+i*step_stag_lim) # e не так считал!
        p3=logdistribution(lamda*p2/pi2,radius0,step_dispersion,-1)
        xxm[0]=p2
        ssm = mieul1(xxm,ang,angle,legendr,array_mieul1)
        ff[i1]+=p3*p2 
        p4=p2*p2*p2
        pss[0]+=ssm[0]*p3*p4
        pss[1]+=ssm[1]*p3*p4

Не сходятся значения, не могу придумать алгоритм, не получается
clav9nski вне форума   Ответить с цитированием
Старый 09.04.2018, 09:26   #2
Stanislav
Квадрокоптерист
Профессионал
 
Регистрация: 29.09.2007
Сообщений: 1,804
Репутация: 532
По умолчанию

Простите но если
Цитата:
но из за скудости ума и образования
зачем потребовалось это делать?
__________________
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Документации и полезные материалы по Python, Python-Qt, PySide pompiduskus Python 3 11.01.2018 01:15
Начальный уровень Python. Функции - Python YYYUUU Python 5 09.06.2017 13:09
ДЗ python JustSasha Помощь студентам 1 05.04.2017 14:16
С++ и Python leonid_10 Общие вопросы C/C++ 0 11.09.2016 23:19
из Python в C++ gio1592 Общие вопросы C/C++ 0 09.04.2012 14:52


06:00.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru