Форум программистов, компьютерный форум CyberForum.ru

В чем ошибка? Вызов функции - C++

Восстановить пароль Регистрация
 
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
30.06.2014, 20:31     В чем ошибка? Вызов функции #1
Вот код:
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <math.h>
 
void filter(double x[],double y[],int N)
{
    int i,j = 0;
    int M = 100; //длина фильтра
    int prop = 50; //частота пропускания
    int zat = 85; //частота затухания
    int diskr = 4500; //частота дискретизации
    double H_real[M] ; //импульсная характеристика практическая
    double H_id[M] ; //идеальная импульсная характеристика
    double W[M] ; //весовая функция
    double fc = (prop + zat)/(2*diskr);
    for(i = 0; i < M; i++)
    {
        if(i == 0) H_id[i] = 2*M_PI*fc;
        else H_id[i] = (2*fc*sin(2*M_PI*fc*i))/2*M_PI*fc*i;
        W[i] = 0.42 - 0.5*cos((2*M_PI*i)/M-1) + 0.08*cos((4*M_PI*i)/M-1); //весовая функция Блэкмана
        H_real[i] = H_id[i] * W[i]; //получили коэффициенты фильтра
    }
    for(i = 0; i < N; i++)
    {
        y[i] = 0.0;
        for(j = 0; j < M - 1; j++)
        {
          y[i] += H_real[j]*x[i-j];
        }
    }
}
 
int main()
{
    int N = 500;
    double x[N];
    double y[N];
    int i = 0;
    for(i = 0; i < N; i++)
    {
        x[i] = 5*sin(0.75*M_PI*i);
    }
    filter(x[N],y[N],N);
}


CodeBlocks выдает такую ошибку:
error: cannot convert 'double' to 'double*' for argument '1' to 'void filter(double*, double*, int)'|
Подскажите,в чем проблема?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
RacceGaetel
0 / 0 / 0
Регистрация: 07.03.2014
Сообщений: 57
30.06.2014, 20:40     В чем ошибка? Вызов функции #2
хм, не знаю даже, в начале вроде не так должно быть
C++
1
#include <iostream>
а так
C++
1
#include <iostrea.h>
nmcf
4278 / 3709 / 1247
Регистрация: 14.04.2014
Сообщений: 14,503
30.06.2014, 20:41     В чем ошибка? Вызов функции #3
Вызывать надо так:
C++
1
filter(x, y, N);
С iostream всё верно, с .h - это по-древнему.
de-pre
32 / 31 / 3
Регистрация: 04.07.2013
Сообщений: 232
Записей в блоге: 1
30.06.2014, 22:02  [ТС]     В чем ошибка? Вызов функции #4
nmcf,
спасибо,так работает.
Yandex
Объявления
30.06.2014, 22:02     В чем ошибка? Вызов функции
Ответ Создать тему
Опции темы

Текущее время: 07:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru