PetrM
1

Переписать небольшой фрагмент кода с C на Haskell

28.09.2013, 21:50. Показов 817. Ответов 1
Метки нет (Все метки)

Хочу сравнить фрагмент кода на C и Haskell.
Покажите мне как следующий код, написанный на С, будет выглядеть на Haskell?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
defect_N=0;
 
for(i=N-k+1; i<=N; i++) {
  defect_tmp=1;
 
  for(n=1; n<=steps; n++) 
    for(j=0; j<=N; j++) 
      defect_tmp-=P_tau_LH[n*(N+1)*(N+1)+i*(N+1)+j];
  
  if(defect_tmp>defect_N)
    defect_N=defect_tmp;
  
  printf("%d %lf\n",i,defect_tmp);
}
 
printf("defect of P_tau_LH=%lf=%e         defect_0=%lf, defect_N=%lf\n", max_double (defect_0,defect_N), max_double (defect_0,defect_N), defect_0, defect_N);
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2013, 21:50
Ответы с готовыми решениями:

Простой обфускатор JavaScript кода на Haskell
Здраствуйте. Нуждаюсь в помощи в написании простого обфускатора для JS кода. Обфускатор должен...

Объясните небольшой фрагмент кода (новые стандарты)
template&lt;typename Op, typename ... F&gt; class TupleComposer { public: Op m_op; tuple&lt;F ...&gt;...

Можно ли переписать фрагмент кода
Можно ли переписать строки 9 и 10: void String::operator+=(const String&amp; rhs) { unsigned short...

Напишите фрагмент кода для определения кода нажатой клавиши (расширенного кода в том числе)
Напишите фрагмент кода для определения кода нажатой клавиши (расширенного кода в том числе)....

1
Модератор
Эксперт функциональных языков программированияЭксперт Python
30647 / 16874 / 3476
Регистрация: 12.02.2012
Сообщений: 28,285
Записей в блоге: 5
29.09.2013, 12:32 2
"Прибавим резкости..." Имеем внешний одномерный массив P_tau_LH. Для неких последовательностей элементов этого массива определяется максимум. Так?

Кроме того, в коде куча внешних переменных...

Добавлено через 1 час 20 минут
Пусть меня не пинают настоящие знатоки Haskell... Решение на списках (но в Haskell есть и массивы). У меня получается что-то вроде:

Haskell
1
2
3
4
5
6
7
8
9
10
--       steps  N        k       i         P_Tau...  
dsum :: Int  -> Int -> Int -> Int -> [Double] -> Double
dsum steps nN k i p_tau = 1.0 - sum [ (p_tau !! (n*(nN+1)*nN+i*(nN+1)+j)) |
                          n <- [1,2..steps],
                          j <- [0,1..nN]]
                    
--            steps  N       k        p_tau
detect_N :: Int -> Int -> Int -> [Double] -> Double
detect_N steps nN k p_tau  = foldl max 0.0 [ (dsum steps nN k i p_tau) | 
                                         i <- [nN-k+1,nN-k+2..nN]]
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2013, 12:32

Переписать код с Haskell на Lisp
Необходимо переписать имеющийся код на Haskell'е на Lisp. Помогите пожалуйста! codeEvRod n |...

Переписать небольшой код с С++ на C#
#include &quot;NativeHashes.hpp&quot; #include &quot;Native.hpp&quot; namespace GTA { namespace Native {...

Переписать небольшой код с С++ на C#, спасибо
void Log(String ^logLevel, ... array&lt;String ^&gt; ^message) { DateTime now = DateTime::Now;...

Дан фрагмент, переписать на язык паскаль
k:=9; y:=0; нц для i от k до 3 шаг -2 y:=y+k-4; кц Извините за глупый вопрос, помогите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru