Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
qwer1234
13 / 13 / 4
Регистрация: 30.10.2012
Сообщений: 463
1

Где я ошибся?

01.11.2014, 04:16. Просмотров 877. Ответов 4
Метки нет (Все метки)

Подскажите почему в этом куске кода у меня A[i] не сравнивается с 0.02257, а просто выводится какое есть
C++
1
2
3
4
5
6
7
for ( i=0; i<10; i++){
    A[i]=sin(2*P*0.03*(i+CurrentPhaze));
if (A[i]<0.02257, i>5.5)
    {
        
    printf("%f\n AA2->", A[i]);
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2014, 04:16
Ответы с готовыми решениями:

Где я ошибся?
Доброго времени суток, подскажите, где я ошибся, компилятор выдает ошибку: In function 'void...

Где я ошибся?
#include &lt;iostream&gt; using namespace std; int sumdigits(int x) void main () { int x;...

Подскажите, где ошибся
Получаю следующий результат на нижеуказанный код: Enter two integers: 13 5 integer part of...

не могу понять где я ошибся
вот задание: Вычислить и вывести на экран в виде таблицы значение функции, заданной с ...

Подправить программу, где-то ошибся)
Не выводит седловые точки #include&lt;conio.h&gt; #include&lt;stdio.h&gt; void main(void) { int i,j, a,...

4
alsav22
5452 / 4847 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2014, 05:29 2
Лучший ответ Сообщение было отмечено qwer1234 как решение

Решение

Цитата Сообщение от qwer1234 Посмотреть сообщение
почему в этом куске кода у меня A[i] не сравнивается с 0.02257, а просто выводится какое есть
Потому, что оператор запятая: результатом if() будет второе сравнение.
Предположу, что так задумывалось (хотя не понятно, почему индекс сравнивается с не целым):
C++
1
2
3
4
5
if (A[i]<0.02257 && i>5.5)
{
        
    printf("%f\n AA2->", A[i]);
}
1
taras atavin
4207 / 1774 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
01.11.2014, 06:21 3
Цитата Сообщение от qwer1234 Посмотреть сообщение
if (A[i]<0.02257, i>5.5)
Ну во-первых условие должно быть ровно одно.

Добавлено через 47 секунд
Цитата Сообщение от qwer1234 Посмотреть сообщение
{ A[i]=sin(2*P*0.03*(i+CurrentPhaze)); if (A[i]<0.02257, i>5.5) { printf("%f\n AA2->", A[i]); }
Во-вторых разберись ка со скобками.
0
qwer1234
13 / 13 / 4
Регистрация: 30.10.2012
Сообщений: 463
01.11.2014, 09:12  [ТС] 4
alsav22, спасибо, ваш ответ очень помог, ибо код очень большой на самом деле и просто я протупил)

Добавлено через 22 минуты
а от и сам код, который с вашей помощью удалось дописать))) это корреляция выборок чисел методом синусоиды))
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#include "stdafx.h"
#include <iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
 
int main () 
{
int i,P,n=100; 
float Z1=0, Z2=0, Z3=0,Z4=0, Z5=0, Z6=0, suma=0, sumb=0,sumc=0, sera=0, serb=0,serc=0,p,w1,w2,w3;
double a=1, r1,r2,d, aa1=0,aa2=0,aa3=0,aa4=0, bb1=0,bb2=0,bb3=0,bb4=0, cc1=0,cc2=0,cc3=0,cc4=0;
P=2*asin(a);
int CurrentPhaze=0; 
float A [100]; 
float B [100];
float C [100];
cout<<"Vubirka A"<<endl;
for (i=0; i<100; i++)
{
A[i]=sin(2*P*0.03*(i+CurrentPhaze));
suma+=A[i];
printf("%f\n", A[i]);
}
 
sera=suma/100;
 
cout<<"Vubirka B"<<endl;
for (i=0; i<100; i++)
{
B[i]=sin((-2)*P*0.03*(i+CurrentPhaze));
sumb+=B[i];
printf("%f\n", B[i]);
}
serb=sumb/100;
 
cout<<"Vubirka C"<<endl;
for (i=0; i<100; i++)
{
C[i]=1.25*sin((2)*P*0.03*(i+CurrentPhaze));
sumc+=C[i];
printf("%f\n", C[i]);
}
serc=sumc/100;
 
// Для А
 
 
for ( i=0; i<100; i++)
{
A[i]=sin(2*P*0.03*(i+CurrentPhaze));
 
if (A[i]<sera && i<50.5)
{
    
    aa1++;
}
 
}
for ( i=0; i<100; i++){
    A[i]=sin(2*P*0.03*(i+CurrentPhaze));
if (A[i]<sera && i>50.5)
    {
    
    aa2++;
}
}
 
for ( i=0; i<100; i++)
{
A[i]=sin(2*P*0.03*(i+CurrentPhaze));
 
if (A[i]>sera && i<50.5)
{
    
    aa3++;
}
}
for ( i=0; i<100; i++){
    A[i]=sin(2*P*0.03*(i+CurrentPhaze));
if (A[i]>sera && i>5.50)
    {
    
    aa4++;
}
}
 
w1=((aa1*aa4)-(aa2*aa3))/sqrt((aa1+aa2)*(aa3+aa4)*(aa1+aa3)*(aa2+aa4));
cout<<"Asociatucnuy analiz vubirku A-> "<<w1<<"<0,3 - zv9zok nesuttevuy"<<endl;
 
// Для B
 
 
for ( i=0; i<100; i++)
{
B[i]=sin((-2)*P*0.03*(i+CurrentPhaze));
 
if (B[i]<serb && i<50.5)
{
    
    bb1++;
}
 
}
for ( i=0; i<100; i++){
    B[i]=sin((-2)*P*0.03*(i+CurrentPhaze));
if (B[i]<serb && i>50.5)
    {
    
    bb2++;
}
}
 
for ( i=0; i<100; i++)
{
B[i]=sin((-2)*P*0.03*(i+CurrentPhaze));
 
if (B[i]>serb && i<50.5)
{
    
    bb3++;
}
}
for ( i=0; i<100; i++){
    B[i]=sin((-2)*P*0.03*(i+CurrentPhaze));
if (B[i]>serb && i>5.50)
    {
    
    bb4++;
}
}
 
w2=((bb1*bb4)-(bb2*bb3))/sqrt((bb1+bb2)*(bb3+bb4)*(bb1+bb3)*(bb2+bb4));
cout<<"Asociatucnuy analiz vubirku B-> "<<w2<<">0,3 - zv9zok pidtverd}{eno"<<endl;
 
// Для C
 
 
for ( i=0; i<100; i++)
{
C[i]=1.25*sin(2*P*0.03*(i+CurrentPhaze));
 
if (C[i]<serc && i<50.5)
{
    
    cc1++;
}
 
}
for ( i=0; i<100; i++){
    C[i]=1.25*sin(2*P*0.03*(i+CurrentPhaze));
if (A[i]<serc && i>50.5)
    {
    
    cc2++;
}
}
 
for ( i=0; i<100; i++)
{
C[i]=1.25*sin(2*P*0.03*(i+CurrentPhaze));
 
if (C[i]>serc && i<50.5)
{
    
    cc3++;
}
}
for ( i=0; i<100; i++){
    C[i]=1.25*sin(2*P*0.03*(i+CurrentPhaze));
if (C[i]>serc && i>5.50)
    {
    
    cc4++;
}
}
 
w3=((cc1*cc4)-(cc2*cc3))/sqrt((cc1+cc2)*(cc3+cc4)*(cc1+cc3)*(cc2+cc4));
cout<<"Asociatucnuy analiz vubirku C-> "<<w3<<"<0,3 - zv9zok nesuttevuy"<<endl;
 
for (i=0; i<100; i++)
{
 
d=i-(i+1);
Z6+=d*d;
}
p=1-((6*Z6)/(n*(n*n-1)));
cout<<"Pokaznuk korel9cii rangiv vubirok A, B i C -> "<<p<<endl;
 
 
for (i=0; i<100; i++)
{
B[i]=sin((-2)*P*0.03*(i+CurrentPhaze));
A[i]=sin(2*P*0.03*(i+CurrentPhaze));
C[i]=1.25*sin((2)*P*0.03*(i+CurrentPhaze));
Z1+=(A[i]-sera)*(B[i]-serb);
Z2+=(A[i]-sera)*(A[i]-sera);
Z3+=(B[i]-serb)*(B[i]-serb);
Z4+=(A[i]-sera)*(C[i]-serc);
Z5+=(C[i]-serc)*(C[i]-serc);
}
r1=Z1/sqrt(Z2*Z3);
r2= Z4/sqrt(Z2*Z5);
cout<<"Koeficient korel9cii Pirsona dl9 A i B -> "<<r1<<endl;
cout<<"Koeficient korel9cii Pirsona dl9 A i C -> "<<r2<<endl;
system ("pause");
return 0;
}
0
zss
Модератор
Эксперт С++
8108 / 7242 / 4508
Регистрация: 18.12.2011
Сообщений: 19,154
Завершенные тесты: 1
01.11.2014, 09:39 5
qwer1234,
Цитата Сообщение от qwer1234 Посмотреть сообщение
i<50.5
так писать имело бы смысл, если бы i была действительной.
А целые переменные сравнивайте с целыми константами: i<=50 или i<51
1
01.11.2014, 09:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2014, 09:39

Ошибка при компиляции!Подскажите где ошибся?
Выдает ошибку при компиляции! Ругается что не объявлены cout, endl и sin. #include &quot;stdafx.h&quot;...

Подскажите, где я ошибся. Программа принимает ввод и сбрасывается
это снова я. и снова с той же задачей. (те, кто не читал мой первый пост на форуме - прочитайте...

Где я ошибся при попытке вывода сообщения об ошибке?
Добрый день, форумчане. Обращаюсь за советом. Накатал в CodeBlocks 10.05: #include &lt;iostream&gt;...


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

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

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