Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
progra
1 / 1 / 2
Регистрация: 17.05.2011
Сообщений: 26
#1

Passing 'double' for converting 1 of 'void' - C++

16.12.2011, 11:46. Просмотров 1451. Ответов 5
Метки нет (Все метки)

Здравствуйте! пишу метод Эйткина (для выч. мата)с графикой но выдает ошибки в коде. Помогите исправить! заранее спасибо!
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <stdio.h>
#include <math.h>
#include <graphics.h>
#include <conio.h>
double fnc(double x)
{
    return sqrt(x);
}
 
double x[4]={1.0, 1.5, 2.0, 2.5}, y[4];
 
int gd=DETECT, gm=VGAHI;
//int y[100],x[100],p[100],k;
int main()
{
        int i, j;
       double k, p[4], pf;
 
        for(i=0; i<4; i++)  y[i]=fnc(x[i]);
 
        initgraph(&gd, &gm, "");
        line(0,240,639,240);
        line(320,0,320,479);
        for(i=0; i<5; i++){
                 line(120+100*i, 237, 120+100*i, 243);
                 line(317, 40+100*i, 323, 40+100*i);
        }
        moveto(310,10);
        outtext("y");
        moveto(600,250);
        outtext("x");
        moveto(310,250);
        outtext("0");
 
        /*Interpolaycia*/
 
           for(k=0.0; k<4.0; k+=0.001)
           {
                for(i=0; i<4; i++) p[i]=y[i];
 
                for(i=1;i<4;i++)
            {
                    for(j=0;j<4-i;j++)
                      p[j]=(p[j]*(k-x[j+i])-p[j+1]*(k-x[j]))/(x[j]-x[j+i]);
            }
           putpixel (320+k*100,240-p[0]*100,4);
           }
 
        /*Graphic korniay iz X*/
 
        for(k=0.0; k<4.0; k+=0.001)
                  putpixel (320+k*100, 240-fnc(k)*100, 2);
        for(i=0, setcolor(7); i<4; i++)
                 circle(320+x[i]*100, 240-y[i]*100, 3);
 
        getchar();
        closegraph();
        getch();
    return 0;
}
46[Warning] passing `double' for converting 1 of `void putpixel(int, int, int)'
46[Warning] passing `double' for converting 2 of `void putpixel(int, int, int)'
52[Warning] passing `double' for converting 1 of `void putpixel(int, int, int)'
52[Warning] passing `double' for converting 2 of `void putpixel(int, int, int)'
54[Warning] passing `double' for converting 1 of `void circle(int, int, int)'
54[Warning] passing `double' for converting 2 of `void circle(int, int, int)'
http://www.cyberforum.ru/cpp-beginners/thread705658.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2011, 11:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Passing 'double' for converting 1 of 'void' (C++):

Какая-нибудь реализация функции void Fun (double in, double *out)
Подскажите, пожалуйста, какую-нибудь любую реализацию прототипа функции: void...

Преобразование void в double
Пример кода: glutDisplayFunc(RenderScene); // функция которая принимает в...

Невозможно преобразовать void* в double*
Помогите вылазит вот такая ошибка error C2440: =: невозможно преобразовать...

malloc - cannot convert from 'void *' to 'double *'
Здравствуйте. У меня тут текст программы для дискретного преобразования Фурье....

Void* не дружу с float, double
Почему если в качестве значение параметра функции типа void*, передавать...

5
oxotnik
1606 / 1083 / 68
Регистрация: 21.08.2008
Сообщений: 4,562
Записей в блоге: 1
16.12.2011, 11:54 #2
C++
1
putpixel ((int)320+k*100,(int)240-p[0]*100,4);
1
progra
1 / 1 / 2
Регистрация: 17.05.2011
Сообщений: 26
16.12.2011, 12:00  [ТС] #3
Все равно выдает те же ошибки(
0
oxotnik
1606 / 1083 / 68
Регистрация: 21.08.2008
Сообщений: 4,562
Записей в блоге: 1
16.12.2011, 12:04 #4
C++
1
putpixel (320+(int)k*100,240-(int)p[0]*100,4);
и во всех остальных putpixel по такому же образу перепиши

Добавлено через 1 минуту
и вообще это не ошибки а предупреждения, о том что дробная часть будет отброшена
1
progra
1 / 1 / 2
Регистрация: 17.05.2011
Сообщений: 26
16.12.2011, 12:06  [ТС] #5
Спасибо огромное, теперь понял!
0
Melkor
30 / 30 / 6
Регистрация: 15.12.2011
Сообщений: 108
16.12.2011, 15:59 #6
Цитата Сообщение от oxotnik Посмотреть сообщение
Код C++
1
putpixel (320+(int)k*100,240-(int)p[0]*100,4);
и во всех остальных putpixel по такому же образу перепиши
Добавлено через 1 минуту
и вообще это не ошибки а предупреждения, о том что дробная часть будет отброшена
одна поправочка если не возражаете: (int)(320+k*100),(int)(240-p[0]*100,4)
0
16.12.2011, 15:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2011, 15:59
Привет! Вот еще темы с решениями:

Выдает ошибку в void main () и const double y=6.61*pow(10, -11);
Сила притяжения F между телами массами m1 и m2, находящимися на расстоянии r...

Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double
Думаю из-за polp #include&lt;iostream&gt; #include&lt;cmath&gt; #include&lt;cstdlib&gt;...

Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; double Akk(double...

Ошибка cannot convert from type void*(classname::) () to type void*(*)(void*)
Подскажите пожалуйста как избавиться от ошибки? Есть ещё какой-либо способ,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru