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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
#1

немогу никак понять в чем ошибка=(помогите плиз! - C++

09.01.2009, 18:48. Просмотров 749. Ответов 9
Метки нет (Все метки)

есть вот такой вот код :

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
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
#include <iostream.h>
#include <math.h>
void main(void)
{
    int a[100][100],b[200][100],i,m,k,y=0,u=0,p,j,t=0,s,h=0,nb=-1,z[100],n=0,kol=0,pr=0;
    double g,d,r,l,e=0;
    cout<<"Vvedite chislo strok"<<endl;
    cin>>m;
    cout<<"Vvedite dannie v massiv:"<<endl;
    for (i=0; i<m; i++)
    {
        cout<<"Vvedite element a x"<<"["<<i<<"]"<<endl;
        cin>>a[i][0];
        cout<<"Vvedite element a y"<<"["<<i<<"]"<<endl;
        cin>>a[i][1];
    }
            cout<<endl;
        i=0;
        for  (i=0;i<m;i++)
        {
            cout<<a[i][0]<<" "<<a[i][1];
            cout<<endl;
        }
        
for(i=0;i<m-3;i++)
for(k=i+1;k<m-2;k++)
for(j=k+1;j<m-1;j++)
        for(s=j+1;s<m;s++)
b[y][0]=i,b[y][1]=k,b[y][2]=j,b[y][3]=s,y++;
 
        
 
for  (i=0;i<y;i++)
{
 cout<<b[i][0]<<" "<<b[i][1]<<" "<<b[i][2]<<" "<<b[i][3];
cout<<endl;
 
}
//pervaia toshka
i=0;    
e=0;
kol=0;
t=0;
pr=0;   
cout<<endl;
 
//toshka 1 ugol 1____________________________________________________________
d=pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2);
l=pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2);
r=pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==-1) e++;
if (g<0)
{t++;} 
cout<<t<<" t-1 u-1 "<<e<<endl;
cout<<endl;
//toshka 1 ugol 2 __________________________________________________________
d=pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2);
l=pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][1]][0]-a[b[i][3]][0]),2)+pow((a[b[i][1]][1]-a[b[i][3]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0) 
{t++;} 
cout<<t<<" t-1 u-2 "<<endl;
cout<<endl;
//toshka 1 ugol 3 __________________________________________________________
d=pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2);
l=pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0)
{ t++;} 
cout<<t<<" t-1 u-3 "<<endl;
cout<<endl;
 
if (t==3) 
e++;
else n=n+t,kol++;
cout<<z[0]<<"-indeks  kopilka- "<<n<<endl;
 
//vtoraia toska
    
    
cout<<endl;
 
//toshka 2 ugol 1____________________________________________________________
d=pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2);
l=pow((a[b[i][1]][0]-a[b[i][3]][0]),2)+pow((a[b[i][1]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][3]][0]-a[b[i][2]][0]),2)+pow((a[b[i][3]][1]-a[b[i][2]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0)
{t++;} 
 
cout<<t<<" t-2 u-1 "<<endl;
cout<<endl;
//toshka 2 ugol 2 __________________________________________________________
d=pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2);
l=pow((a[b[i][1]][0]-a[b[i][3]][0]),2)+pow((a[b[i][1]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0) 
{t++;} 
cout<<t<<" t-2 u-2 "<<endl;
cout<<endl;
//toshka 2 ugol 3 __________________________________________________________
d=pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2);
l=pow((a[b[i][1]][0]-a[b[i][0]][0]),2)+pow((a[b[i][1]][1]-a[b[i][0]][1]),2);
r=pow((a[b[i][2]][0]-a[b[i][0]][0]),2)+pow((a[b[i][2]][1]-a[b[i][0]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0)
{ t++;} 
cout<<t<<" t-2 u-2 "<<endl;
cout<<endl;
 
if (t==3) 
e++;
else n=n+t,kol++;
cout<<"-indeks  kopilka-  "<<n<<endl;
 
//tretia toska
    
    
cout<<endl;
 
//toshka 3 ugol 1____________________________________________________________
d=pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2);
l=pow((a[b[i][2]][0]-a[b[i][0]][0]),2)+pow((a[b[i][2]][1]-a[b[i][0]][1]),2);
r=pow((a[b[i][1]][0]-a[b[i][0]][0]),2)+pow((a[b[i][1]][1]-a[b[i][0]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0)
{t++;} 
cout<<t<<" t-3 u-1 "<<endl;
cout<<endl;
//toshka 3 ugol 2 __________________________________________________________
d=pow((a[b[i][2]][0]-a[b[i][0]][0]),2)+pow((a[b[i][2]][1]-a[b[i][0]][1]),2);
l=pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g<0) 
if (g*g==1) e++;
{t++;} 
cout<<t<<" t-3 u-2 "<<endl;
cout<<endl;
//toshka 3 ugol 3 __________________________________________________________
d=pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2);
l=pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][1]][0]-a[b[i][3]][0]),2)+pow((a[b[i][1]][1]-a[b[i][3]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0)
{ t++;} 
cout<<t<<" t-3 u-2 "<<endl;
cout<<endl;
 
if (t==3) 
e++;
else n=n+t,kol++;
cout<<"-indeks  kopilka-  "<<n<<endl;
 
//4etvertaia toska
i=0;    
    
cout<<endl;
 
//toshka 4 ugol 1____________________________________________________________
d=pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2);
l=pow((a[b[i][3]][0]-a[b[i][0]][0]),2)+pow((a[b[i][3]][1]-a[b[i][0]][1]),2);
r=pow((a[b[i][2]][0]-a[b[i][0]][0]),2)+pow((a[b[i][2]][1]-a[b[i][0]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0)
{t++;} 
cout<<t<<" t-4 u-1 "<<endl;
cout<<endl;
//toshka 4 ugol 2 __________________________________________________________
d=pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2);
l=pow((a[b[i][1]][0]-a[b[i][3]][0]),2)+pow((a[b[i][1]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0) 
{t++;} 
cout<<t<<" t-4 u-2 "<<endl;
cout<<endl;
//toshka 4 ugol 3 __________________________________________________________
d=pow((a[b[i][1]][0]-a[b[i][3]][0]),2)+pow((a[b[i][1]][1]-a[b[i][3]][1]),2);
l=pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2);
r=pow((a[b[i][1]][0]-a[b[i][0]][0]),2)+pow((a[b[i][1]][1]-a[b[i][0]][1]),2);
g=(d+l-r)/(2*sqrt(d)*sqrt(l));
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;
cout<<endl;
if (g*g==1) e++;
if (g<0)
{ t++;} 
 
cout<<t<<" t-4 u-2 "<<endl;
cout<<endl;
 
if (t==3) e++ ;
else n=n+t,kol++;
cout<<e<<" e "<<endl;
 
//uslovia vipuklosti
 
if (e==0)
{
 if (n==2||kol==1) e=0; 
 else z[++nb]=i;
}
 
cout<<z[0]<<"-indeks kone4niy  kopilka-  "<<n<<endl;
}

значения задаются следующие :

5
0
0
-1
-1
1
1
0
-4
2
4

при них значение "g" в некоторых случаях равно -1 (в частности для 1 точки 1 угла. в том что оно равно -1 можно убедиться так как значение выводиться на экран). но далее следует следующее :

C++
1
2
3
4
5
6
cout<<g<<" "<<d<<" "<<l<<" "<<r<<endl;    //вывод на экран g и прочих переменных
cout<<endl;
if (g*g==-1) e++;
if (g<0)
{t++;} 
cout<<t<<" t-1 u-1 "<<e<<endl;
то есть на воводе должны получить "1 t-1 u-1 " 1", но выводит "1 t-1 u-1 " 0 "
почему не работает не знаю=(пожалуйста скажите что не так=(

з.ы пробовал писать програмку чисто на проверку данных условий :

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
#include <math.h>
void main(void)
{
    int e=0,t=0;
    double g=-1;
 
if (g*g==1) e=1;
if (g<0)
{t++;} 
cout<<t<<" t-1 u-1 "<<e<<endl;
}
все работает нормально и на выводе положенное "1 t-1 u-1 " 1"

Заранее благодарен всем откликнувшимся=)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2009, 18:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос немогу никак понять в чем ошибка=(помогите плиз! (C++):

Немогу понять в чем ошибка ( - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; using namespace std; int main() { float x, f1, f2,...

Немогу понять в чем ошибка. - C++
Часть кода(проект в WinAPI): #include &quot;stdafx.h&quot; #include &quot;List.h&quot; #include &quot;Theatr.h&quot; #include &quot;Actor.h&quot; void inputTheatrs(...

Немогу понять в чем ошибка. - C++
// lab5OOP.cpp : Defines the entry point for the console application. // #include &quot;stdafx.h&quot; #include &lt;math.h&gt; #include...

Никак не могу понять в чем ошибка - C++
все прокомментировал. При компиляции выдает, что в 9 строчке невозможно преобразовать &quot;const wchar_t &quot; в &quot;LPCSTR&quot;. HELP:cry: подскажите где...

Помогите написать формулу ,никак немогу написать (2k)! в ней - C++
Помогите написать формулу ,никак немогу написать (2k)! в ней

Немогу понять почему в программе выкидует ошибка - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;math.h&gt; # include &lt;clocale&gt; #include &lt;conio.h&gt; using namespace std; void main...

9
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.01.2009, 22:02 #2
Код
if (g*g==-1)
0
Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
09.01.2009, 23:41  [ТС] #3
нет=(ошибка не в этом =(там только в первом случае -1 стояло а дальше нормально...а е копиться до самого конца...в конце оно тоже ноль выдает...причем там на е два условия и если забивать примеры на проверку второго условия то е тоже не копиться...

Добавлено через 1 час 23 минуты 41 секунду
сейчас еще установил, что если в условии поменять 1 на 0 то есть получить следующее:
if (g*g==0)
и дать значения при которых g=0, то все работает...я в недоумении...
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.01.2009, 23:55 #4
Код
if ((int) (g*g) == 1)
0
Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
10.01.2009, 09:44  [ТС] #5
спасибо большое=)работает=)
0
Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
11.01.2009, 22:49  [ТС] #6
блин оказывается у мну счетчик теперь постоянно растет=(а условие так и не выполняется=( int (g*g) при g=1 или -1 равен нулю=( что делать хз=( g*g при g=-1 как и пологается равно 1 но условие if ((g*g) == 1) не работает =( условие if ((int) (g*g) == 1) тоже не работает=( не знаю что делать =(помогите!!!
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
12.01.2009, 00:24 #7
ясно короче проверяй главную формулу где у тебя корни потому что (int) (g*g) при ненулевом g может быть только в том случае, когда у тебя нет целой части (дробь на дробь типа 0.1 * 0.1 получится 0.01, т.е. целой части как не было так и нет)
ещё g*g == -1, никогда не будет истинно, приведи число квадрат которого равен отрицательному числу ?
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.01.2009, 02:51 #8
C++
1
2
3
4
5
6
7
8
9
10
11
 
#include <stdio.h>
 
main()
{
    double g = -1.3;
    
    if ((int) (g*g) == 1)
        printf("%lf\n", g*g);
    return 0;
}
вывод

Код
[guest@localhost tmp]$ ./test
1.690000
[guest@localhost tmp]$
если поставить -1.5, будет 2.25, то есть целая часть не равна еденице и вывода не будет
0
Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
13.01.2009, 07:30  [ТС] #9
не стал больше париться))у мну там считается косинус угла =) у него область значений [-1,1] чтобы вошла единица написал g*g>0.99999 и все работает=)ошибка не столь большая будет=)в принципе даже не заметная)
0
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.01.2009, 09:27 #10
а g*g <= 1 не пробовал ? может в этом то и прикол что у тебя оно никогда ровно еденице не равнялось, тебе надо диапазон если поставить, чтобы срабатывало только когда g*g в допустимых пределах значений косинуса, тогда

Код
    if (g*g >= -1 && g*g <= 1)
        ;
но так как у тебя квадрат одного числа а -1 даст только квадрат мнимой еденицы i, то можно просто

Код
    if (g*g <= 1)
        ;
без всяких дробей делать (хотя g будет дробное конечно, из-за того что в операции где оно вычисляется всё приводится к дробным неявно потому что там sqrt используется)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.01.2009, 09:27
Привет! Вот еще темы с ответами:

Подскажите, в чем здесь ошибка? И как ее исправить...плиз! - C++
//Ошибка здесь!!!! void power (ulong m, ulong &amp;s, ulong &amp;t) { for (t=0, s=m; s%2==0; t++) s/=2; } ...

понять в чем ошибка - C++
при компиляции vs 2015 выдает ошибку 1&gt;c:\users\admin\desktop\projectc++\laba11\laba11\source.cpp(14): error C3867:...

не могу понять в чем ошибка - C++
Задание: Найти наибольший элемент каждой пары из массива А и записать их в новый массив. Получить из него массив четных положительных...

Не могу понять в чем ошибка - C++
написать программу в CodeBlocks, никак не могу понять в чем ошибка. Найти периметр эллипса по двум радиусам. #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
13.01.2009, 09:27
Ответ Создать тему
Опции темы

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