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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 15.05.2014, 03:06   #1
Vladyusha
Новичок
Джуниор
 
Регистрация: 15.05.2014
Сообщений: 1
По умолчанию перенос консольного приложения на CLR

подскажете как сделать так чтобы при нажатии кнопки, содержимое некого текстбокса передавалось в переменную, которая в последствии должна передаться ф-ии main() и та должна выполнится.
Если это возможно, то как это сделать?
И как сделать это самым простым путем?
Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <conio.h>
#include <string.h>
#include <math.h>
#include <string.h>
//#include "fft.h"




// Структура, описывающая заголовок WAV файла.
struct WAVHEADER
{
    // описана структура WAV-файла
  
	
};



}

 
#include "fft.h"
#define M_PI 3.1415926
//----------------------------------------------------------------------------
// функция расчёта поворотных множителей для БПФ
void fft_make(
  int p,    // показатель двойки (например, для БПФ на 256 точек это 8)
  float *c) // результирующий массив поворотных множителей c[1 << p]
{
  int n, i;
  float w, f;
  n = 1 << p; // размер массива (число точек БПФ)
  w = (2. * M_PI) / (float) n;
  f = 0.;
  for (i = 0; i < n; i++)
  {
    *c++ =  cos(f);
    *c++ = -sin(f);
    f += w;
  }
}
//----------------------------------------------------------------------------
// функция расчёта поворотных множителей для ОБПФ
void fft_make_reverse(
  int p,    // показатель двойки (например, для ОБПФ на 256 точек это 8)
  float *c) // результирующий массив поворотных множителей c[1 << p]
{
  int n, i;
  float w, f;
  n = 1 << p; // размер массива (число точек ОБПФ)
  w = (2. * M_PI) / (float) n;
  f = 0.;
  for (i = 0; i < n; i++)
  {
    *c++ = cos(f);
    *c++ = sin(f);
    f += w;
  }
}
//----------------------------------------------------------------------------
// функция прямого БПФ
void fft_calc(
  int p,           // показатель двойки (например, для БПФ на 256 точек это 8)
  const float *c,  // массив поворотных множителей БПФ
  const float *in, // входной массив
  float *out,      // выходной массив
  int norm)        // признак нормировки
{
  int i;
  int n = 1 << p;  // число точек БПФ
  int n2 = n >> 1; // n/2
  float re, im, re1, im1, re2, im2; // c, c1, c2
  float *p1, *p2;
  const float *p0;

  // копировать элементы массива `in` в массив `out` с битовой инверсией
  for (i = 0; i < n; i++)
  {
    int j = fft_binary_inversion(p, i) << 1;
    int k = i << 1;

    p0 = in  + j;
    p1 = out + k; 
    *p1++ = *p0++; // out[i] = in[j]
    *p1   = *p0;   //

    p0 = in  + k;
    p1 = out + j; 
    *p1++ = *p0++; // out[j] = in[i]
    *p1   = *p0;   //
  }
  
  // выполнение бабочек ("понеслась душа в рай" (C) Hokum)
  for (i = 0; i < p; i++)
  {
    int m = 1 << (i + 1); // через сколько эл-тов бабочка * 2
    int r = m << 1;       // размер группы * 2
    int nom = 0;          // номер группы * r
    int k = 0;            // номер эл-та в группе * 2
    int y = 0;            // индекс W * 2
    int z = 0;
    int h = 1 << (p - i); // шаг для W * 2
    int j;

    for (j = n2; j > 0; j--)
    {
      if (k >= m)
      {
        k = y = 0;
        nom += r;
	z = nom;
      }

      // c <= c[y]
      p0 = c + y;
      re = *p0++;
      im = *p0;

      // c2 <= out[z + m]
      p1  = out + (z + m);
      re2 = *p1++;
      im2 = *p1;
   
      // c1 <= c2 * c
      re1 = re2 * re - im2 * im;
      im1 = im2 * re + re2 * im;

      // c2 <= out[z]
      p2  = out + z;
      re2 = *p2++;
      im2 = *p2;

      // out[z]     <= c2 + c1
      // out[z + m] <= c2 - c1
      *p2-- = im2 + im1;
      *p1-- = im2 - im1;
      *p2   = re2 + re1;
      *p1   = re2 - re1;

      k += 2;
      z += 2;
      y += h;
    }
  }

  if (norm)
  { // нормировка
    re = 1. / ((float) n);
    p1 = out;
    for (i = n; i > 0; i--)
    {
      *p1++ *= re;
      *p1++ *= re;
    }
  }
}


int _tmain(int argc, _TCHAR* argv[])
{	
	
	//void ForwardDft();
    FILE *file;

    errno_t err;
    err = fopen_s(&file, "argv[1]", "rb");
    if (err)
    {
        printf_s("Failed open file, error %d", err);
		_getch();
        return 0;
    }
 
    WAVHEADER header;
 
    
	
	_getch();
	return 0;

}
некоторые части кожа выкинуты в функции маин и в описании структуры вав файла

Последний раз редактировалось Stilet; 15.05.2014 в 08:12.
Vladyusha вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Heaps консольного приложения. OktXIV Visual C++ 4 05.03.2013 13:33
Подключение к БД из консольного приложения Neon-z C/C++ Базы данных 2 21.08.2012 12:33
Разрешение консольного приложения Bags Общие вопросы C/C++ 3 11.02.2012 20:43
Остановка консольного приложения Igolka6662 Общие вопросы C/C++ 2 06.11.2011 20:07
Проблема запуска консольного приложения wavstd Помощь студентам 2 21.07.2011 19:25


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS