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

Ошибка при сравнении символов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ рекурсивная функция http://www.cyberforum.ru/cpp-beginners/thread568996.html
Требуется разработать рекурсивную функцию, возвращающую значение для вычисления n-го члена последовательности b1=5, bn+1=bn/n2+n+1 помогите пожалуйста
C++ Вывод изображения в WinAPI Вот не получается загрузить картинку Делаю по примеру найденому здесь на форуме Но у меня не находит файл #include <windows.h> /* Вывод картинки */ LRESULT CALLBACK DCDemoWndProc(HWND, UINT, UINT, LONG); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdParam, int nCmdShow){ http://www.cyberforum.ru/cpp-beginners/thread568943.html
C++ Выбрать самую ближайшую точку
Есть задачка, но попробую абстрагироваться от неё: есть 5 точек (x1 > x2> ...>x5). На вход поступает точка x. Нужно выбрать такую точку (x1 - x5), от которой будет ближе всего находится x. Немного упростим задачу: двигаться будем только вперёд (тоесть выбранная точка должна быть больше x). Хотя если предложите вариант хорошего алгоритма без моего упрощения то тоже буду рад :) Я чего тему...
проблева ввода строки C++
Пропускает ввод строки. Какого черта?) #include<iostream> using namespace std; void main() { int a; char str; cout<<"vvedite chislo\n"; cin>>a;
C++ Помогите Пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread568921.html
Данная квадратная матрица размером m * m. Строки, максимальные элементы которых лежат выше главной диагонали, записать в обратном порядке.
C++ Проверка на цифры Всем привет, вот столкнулся с проблемой, мне нужно нарисовать график, данные берутся из текст боксов. Хотел сделать проверку на цифры, если данные из текст бокса равны цифре, то рисовать, если нет, то выдать ошибку, вот не получается у меня код, не поможете пожалуйста? Большое спасибо за помошь! float min = float::Parse(Textbox_min->Text); float max =... подробнее

Показать сообщение отдельно
Manula93
1 / 1 / 0
Регистрация: 08.04.2012
Сообщений: 100

Ошибка при сравнении символов - C++

08.05.2012, 22:59. Просмотров 1030. Ответов 3
Метки (Все метки)

1) НЕ могу понять в чем ошибка при сравнении символов вот пример одной:

Энтропия.cpp(18): error C2446: ==: нет преобразования "const char *" в "int"
Не существует контекста, в котором такое преобразование возможно
Энтропия.cpp(18): error C2040: ==: "int" отличается по уровням косвенного обращения от "const char [2]"
2) Что за ошибка
Энтропия.cpp(87): error C2017: недопустимая escape-последовательность
Энтропия.cpp(87): error C2064: результатом вычисления фрагмента не является функция, принимающая 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include <stdafx.h>
#include <iostream>
#include <iomanip>
#include <math.h>
#include <windows.h>
using namespace std;
using namespace System;
 
double *  VeroyatnostiXY(char *X, char *Y)
{
    double ka,kb,kc,kd,a,b,c,d,HX,HY,*massiv;
    int i;
      for(i=0;i<35;i++)
      {
        
        if(X[i]=="a")
        ka++;
        if(X[i]=="b")
        kb++;
        if(X[i]=="c")
        kc++;
        if(X[i]=="d")
        kd++;
      }
      cout <<"---------------------------------------------------"<<endl;
      cout <<"|"<<" Sostoyanie                " << "|" << setw(5) << "a" << "|" << setw(5) <<"b"<<"|"<< setw(5) << "c" << "|" <<setw(5) <<"d"<<"|"<<"vsego"<< endl;
      cout <<"|"<<" Chislo nabludenii dlya X  " << "|" << setw(5) << ka << "|" << setw(5) << kb << "|" << setw(5)<< kc << "|" << setw(5) << kd << "|"<<setw(5)<<ka+kb+kc+kd <<"|"<< endl;
 
      for(i=0;i<35;i++)
      {
        if(Y[i]=="a")
        a++;
        if(Y[i]=="b")
        b++;
        if(Y[i]=="c")
        c++;
        if(Y[i]=="d")
        d++;
      }
      cout <<"|"<<" Chislo nabludenii dlya Y  " << "|" << setw(5) << a << "|" << setw(5) << b << "|" << setw(5)<< c << "|" << setw(5) << d << "|"<< setw(5)<<a+b+c+d<<"|"<< endl;
      cout <<"|"<<" Veroyatnost dlya X        " << setw(5) << ka/(ka+kb+kc+kd) << "|" << setw(5) << kb/(ka+kb+kc+kd) << "|" << setw(5)<< kc /(ka+kb+kc+kd)<< "|" << setw(5) << kd/(ka+kb+kc+kd) << "|"<<setw(5)<<ka/(ka+kb+kc+kd)+kb/(ka+kb+kc+kd)+kc/(ka+kb+kc+kd)+ kd/(ka+kb+kc+kd)<<"|"<< endl;  
      cout <<"|"<<" Veroyatnost dlya Y        " << setw(5) << a/(a+b+c+d) << "|" << setw(5) << b/(a+b+c+d) << "|" << setw(5)<< c /(a+b+c+d)<< "|" << setw(5) << d/(a+b+c+d) << "|"<<setw(5)<<a/(a+b+c+d)+b/(a+b+c+d)+c/(a+b+c+d)+ d/(a+b+c+d)<<"|"<< endl;  
      cout<<"------------------------------------------------------\n\n"<<endl;
      HX=ka/(ka+kb+kc+kd) * ( log(ka/(ka+kb+kc+kd)) / log(2.0)  )+ kb/(ka+kb+kc+kd) * ( log(kb/(ka+kb+kc+kd)) / log(2.0)  )+kc/(ka+kb+kc+kd) * ( log(kc/(ka+kb+kc+kd)) / log(2.0)  )+kd/(ka+kb+kc+kd) * ( log(kd/(ka+kb+kc+kd)) / log(2.0)  );
      HY=a/(a+b+c+d) * ( log(a/(a+b+c+d)) / log(2.0)  )+ b/(a+b+c+d) * ( log(b/(a+b+c+d)) / log(2.0)  )+c/(a+b+c+d) * ( log(c/(a+b+c+d)) / log(2.0)  )+d/(a+b+c+d) * ( log(d/(a+b+c+d)) / log(2.0)  );
      cout << "Entropia X ="<< HX <<endl;
      cout << "Entropia Y ="<< HY <<endl;
      massiv[0]=HX;
      massiv[1]=HY;
      return massiv;
}
void  EntropiiXY(char *X, char *Y, float * massiv)
{
    float HXY=0,HYX=0,ka,kb,kc,kd,a,b,c,d,nxy,nyx;
    int i,ch1,ch2;
     
     for(i=0;i<35;i++)
     {
        if(X[i]=="a")
        ka++;
        if(X[i]=="b")
        kb++;
        if(X[i]=="c")
        kc++;
        if(X[i]=="d")
        kd++;
        if(Y[i]=="a")
        a++;
        if(Y[i]=="b")
        b++;
        if(Y[i]=="c")
        c++;
        if(Y[i]=="d")
        d++;
     }
     for(ch1=(int)"a";ch1<=(int)"d";ch1++)
         for (ch2=(int)"a";ch2<=(int)"d";ch2++)
         {
             for(i=0;i<35;i++)
             {
                 if((int)X[i]==ch1 && (int)Y[i]==ch2)
                     nxy++;
             }
             if(ch2==(int)"a")
                 HXY=HXY+(-a\(a+b+c+d) * (nxy/a) * log(nxy/a)/log(2.0));
             if(ch2==(int)"b")
                 HXY=HXY+(-b\(a+b+c+d) * (nxy/b) * log(nxy/b)/log(2.0));
             if(ch2==(int)"c")
                 HXY=HXY+(-c\(a+b+c+d) * (nxy/c) * log(nxy/c)/log(2.0));
             if(ch2==(int)"d")
                 HXY=HXY+(-d\(a+b+c+d) * (nxy/d) * log(nxy/d)/log(2.0));
 
         }
     
      for(ch1=(int)"a";ch1<=(int)"d";ch1++)
         for (ch2=(int)"a";ch2<=(int)"d";ch2++)
         {
             for(i=0;i<35;i++)
             {
                 if((int)X[i]==b && (int) Y[i]==c)
                     nyx++;
             }
             if(ch2==(int)"a")
                 HYX=HYX+(-ka\(ka+kb+kc+kd) * (nyx/ka) * log(nyx/ka)/log(2.0));
             if(ch2==(int)"b")
                 HYX=HYX+(-kb\(ka+kb+kc+kd) * (nyx/kb) * log(nyx/kb)/log(2.0));
             if(ch2==(int)"c")
                 HYX=HYX+(-kc\(ka+kb+kc+kd) * (nyx/kc) * log(nyx/kc)/log(2.0));
             if(ch2==(int)"d")
                 HYX=HYX+(-kd\(ka+kb+kc+kd) * (nyx/kd) * log(nyx/kd)/log(2.0));
         }
 
         cout<<"H(X/Y)="<<HXY<<endl;
         cout<<"H(Y/X)="<<HYX<<endl;
         cout<<"Entropia nezavisimih sistem ="<< massiv[0]+massiv[1]<< endl;
         cout<<"Entropia zavisimih sistem ="<< massiv[0]+ HYX<< endl;
         cout<<"Vzaimnaya informaciya =" << massiv[0]-HXY <<endl;
         cout<<"Obyem informacii Q(X)="<<(ka+kb+kc+kd)*2<< endl;
         cout<< "Obyem informacii Q(Y)=" <<(a+b+c+d)*2<< endl;
}
 
 
int main()
{
    system ("cls");
    char *X;
    char *Y;
    int i;
    double *massiv;
      cout << " Vvedite X" << endl; 
      for(i=0;i<35;i++)
      cin >> X[i];
      cout << " Vvedite Y" << endl; 
      for(i=0;i<35;i++)
      cin >> Y[i];
      
     massiv=VeroyatnostiXY (X,Y);
     EntropiiXY(X,Y,massiv);
      system ("pause");
     return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru