Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
1

Запутался с циклами

06.01.2009, 01:14. Показов 1457. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
хочу что подпрограмка при вводе m=6 выводила 0123
0124
0125
0134
0135
0145
1234
1235
1245
2345
а выводиться следующее:
0123
0124
0125
0133
0134
0135



програмка сама такая:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream.h>
#include <math.h>
void main(void)
{
    int a[100][100],b[100][100],i,m,k,y=0,u=0,s,j,t=0;
    cout<<"Vvedite chislo strok"<<endl;
    cin>>m;     
for(i=0;i<m-3;i++)
for(k=1;k<m-2;k++)
    for(j=2;j<m-1;j++)
        for(s=3;s<m;s++)
            b[y][0]=i,b[y][1]=k,b[y][2]=j,b[y][3]=s,y++;
        
 
for  (i=0;i<m;i++)
{
 cout<<b[i][0]<<" "<<b[i][1]<<" "<<b[i][2]<<" "<<b[i][3];
cout<<endl;
}
        
 
}
з.ы.
лишние переменный из за того что это кусок проги =)

Заранее благодарен за помощ
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2009, 01:14
Ответы с готовыми решениями:

Работа с циклами и подсчёт значений в массиве. Запутался в циклах, никак не могу понять
Рассматривается 7 программных продуктов, имеющих одинаковое назначение. Их оценивает 5 экспертов....

Р еш и ть з а д а чу 3 циклами
y=sin1+sin1,1+sin1,2+...+sin2

запутался
Дали задание написать программу. вот формула c*(b-a)+ (f/2)*(b^2-a^2)-(g/3)*(b^3-a^3). По нажатии...

Запутался.
Блин ребят, я запутался. У меня сейчас стоит проводной роутер там скорость написана :...

17
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
06.01.2009, 02:23 2
Цитата Сообщение от Adrian Посмотреть сообщение
хочу что подпрограмка при вводе m=6 выводила 0123....
ето можно вывести в "cout";
ты объясни что тебе конкретно надо.
0
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
06.01.2009, 10:51  [ТС] 3
нужно что бы программа составляла масив из всех возможных комбинаций 4 цифр.
то есть ввод м=6 значит, что нужно перебрать все возможные комбинации 4 цифр из ряда 0.1.2.3.4.5
0
12 / 12 / 2
Регистрация: 27.09.2008
Сообщений: 43
06.01.2009, 15:47 4
Вот мое решение:
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
#include <stdio.h>
#include <stdlib.h>
 
void PrintNumb(int numb);
 
int main(){
 int numb;
 /* Считываем кол-во элементов */
 scanf("%d",&numb);
 if(numb <= 0) puts("Invalid number"),exit(1);
 PrintNumb(numb);
 return 0;
}
 
void PrintNumb(int numb)
{
    int *truenum;
    int j,i=0,m=0,n=0;
    if((truenum=(int *) malloc(numb*sizeof(int)))==NULL)puts("Out of memory"), exit(1);
    for(j=0; j<numb; j++)truenum[j]=j;
    for(j=0; j<numb;j++)
     for(i=0; i<numb; i++)
      for(m=0; m<numb; m++)
       for(n=0; n<numb; n++) printf("\n%d%d%d%d",j,i,m,n);
    free(truenum);
}
Если, где-то написано некорректно опишись, самому интересно

Добавлено через 2 часа 46 минут 52 секунды

Только сейчас заметил как сильно я ступил!
Все мои выпендрены с динамическим выделением памяти, нафик не нужны
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
#include <stdlib.h>
 
int main(){
 int numb, j,i,m,n;
 scanf("%d",&numb);
 if(numb <= 0) puts("Invalid number"),exit(1);
    for(j=0; j<numb;j++)
     for(i=0; i<numb; i++)
      for(m=0; m<numb; m++)
       for(n=0; n<numb; n++) printf("\n%d%d%d%d",j,i,m,n);
 return 0;
}
Вот это больше похоже на правду!

Добавлено через 3 минуты 17 секунд
Если захочешь не выводить на экран, а вбивать числа в массив, то используй вместо функции printf() - sprintf().
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
06.01.2009, 15:50 5
Эта прога ведь выдает результат с повторениями, Т.е. если взято число 3, то оно по идее не должно составить скажем комбинации 3003, или 3333,
Я так понял, что числа не должны повторятся в комбинациях...
0
12 / 12 / 2
Регистрация: 27.09.2008
Сообщений: 43
06.01.2009, 15:58 6
что нужно перебрать все возможные комбинации 4 цифр
Задание состоит в том, чтобы перебрать все возможные варианты, значит повтория имеют место быть, если задание, конечно, корректно сформулировано.
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
06.01.2009, 16:07 7
Цитата Сообщение от the_t_a Посмотреть сообщение
если задание, конечно, корректно сформулировано
Вот и я об этом же. В принципе если вариант без повторений, то твоя программка увеличится всего на одно условие

Добавлено через 6 минут 19 секунд
Точнее тремя условиями. И программа без повторений будет такой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
 
int main(){
 int numb, j,i,m,n;
 scanf("%d",&numb);
 if(numb <= 0) puts("Invalid number"),exit(1);
    for(j=0; j<numb;j++)
      for(i=0;i<numb; i++)
        { if (i==j) continue;
          for(m=0; m<numb; m++)
            { if (m==i||m==j) continue;
              for(n=0; n<numb; n++)
                { if (n==m||n==i||n==j) continue;
                  printf("\n%d%d%d%d",j,i,m,n);
                }
            }
        }
 system("pause");
 return 0;
}
0
12 / 12 / 2
Регистрация: 27.09.2008
Сообщений: 43
06.01.2009, 16:35 8
Верно он работает, так как надо, но я бы переписал его, так, чтобы проверка повторений осуществлялась в последнем цикле. Смотрится намного приятнее и с таким кодом удобнее работать.
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
06.01.2009, 21:52 9
Возможно! но стаким кодом как я написал программа вычиления производит быстрее, нежели в последнем цикле проверять лишний раз условия 1 и 2 (строки №10 и 12). Больше времени затрачивается.
0
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
07.01.2009, 00:52  [ТС] 10
спасибо за помошь=)тока чет я еще больше заморочился=)я половину функций ваших не знаю=)
свой код исправил=)вроде работает=)
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
07.01.2009, 00:55 11
А что конкретно не ясно?
0
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
07.01.2009, 00:59  [ТС] 12
подскажите еще пожалуйста как сделать что бы работало следующее

cos=(......)
if (cos<0) i++;
cos=(...)
if (cos<0) i++;

у меня по моему если условие не выполняется то программа дальше ничего не делает(( а нужно что бы просто систематически проверялось условие и если оно выполняется, то повышать счетчик и продолжать далее, а если нет, то программа шла дальше но без повышения счетчика

Добавлено через 1 минуту 5 секунд
в скобочках заместо точек у меня функция
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
07.01.2009, 01:00 13
Весь текст покажи, а то не ясно, что именно не работает!
0
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
07.01.2009, 01:08  [ТС] 14
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
#include <iostream.h>
#include <math.h>
void main(void)
{
    int a[100][100],b[200][100],i,m,k,y=0,u=0,s,j,t=0,cosa,h=0,g=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;
}
        
cout<<endl;
 
for(i=0;i<y;i++)
//1 òî÷êà 1 óãîë
//       x0                  x1                         y0            y1                  x0         x2                     y0               y2                    x1          x2                        y1              y2                    x0              x1              y0          y1                    x0          x2                   y0        y2     
cosa=(pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)-pow((a[b[i][1]][0]-a[b[i][2]][0]),2)-pow((a[b[i][1]][1]-a[b[i][2]][1]),2))/(((a[b[i][0]][0]-a[b[i][1]][0]))+((a[b[i][0]][1]-a[b[i][1]][1]))*((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1])))
if (cosa<0) h++;
//1 òî÷êà 2 óãîë
//       x0                  x1                         y0            y1                  x0         x3                     y0               y3                    x1          x3                        y1              y3                    x0              x1              y0          y1                    x0          x3                   y0        y3     
cosa=(pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2)-pow((a[b[i][1]][0]-a[b[i][3]][0]),2)-pow((a[b[i][1]][1]-a[b[i][3]][1]),2))/(((a[b[i][0]][0]-a[b[i][1]][0]))+((a[b[i][0]][1]-a[b[i][1]][1]))*((a[b[i][0]][0]-a[b[i][3]][0]))+((a[b[i][0]][1]-a[b[i][3]][1])))
if (cosa<0) h++;
//1 òî÷êà 3 óãîë 
//       x0                  x2                         y0            y2                  x0         x3                     y0               y3                    x2          x3                        y2              y3                    x0              x2              y0          y2                    x0          x3                   y0        y3     
cosa=(pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)+pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2)-pow((a[b[i][2]][0]-a[b[i][3]][0]),2)-pow((a[b[i][2]][1]-a[b[i][3]][1]),2))/(((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1]))*((a[b[i][0]][0]-a[b[i][3]][0]))+((a[b[i][0]][1]-a[b[i][3]][1])))
if (cosa<0) h++;
if (h<2) g++;
h=0;
//2 toshka 1 ugol
//       x0                  x1                         y0            y1                  x0         x2                     y0               y2                    x1          x2                        y1              y2                    x1              x2              y1          y2                    x1          x2                   y0        y2     
cosa=(-pow((a[b[i][0]][0]-a[b[i][1]][0]),2)-pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)+pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2))/((a[b[i][1]][0]-a[b[i][2]][0])+(a[b[i][1]][1]-a[b[i][2]][1]))*((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1])))
if (cosa<0) h++;
//2 òî÷êà 2 óãîë 
//       x0                  x2                         y0            y2                  x0         x3                     y0               y3                    x2          x3                        y2              y3                    x0              x2              y0          y2                    x2          x3                   y2        y3     
cosa=(pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)-pow((a[b[i][0]][0]-a[b[i][3]][0]),2)-pow((a[b[i][0]][1]-a[b[i][3]][1]),2)+pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2))/(((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1]))*((a[b[i][2]][0]-a[b[i][3]][0])+(a[b[i][2]][1]-a[b[i][3]][1]),2))
if (cosa<0) h++;
//1 òî÷êà 3 óãîë 
//       x1                  x2                         y1            y2                  x2         x3                     y2               y3                    x1          x3                        y1              y3                    x1              x2              y1          y2                    x2          x3                   y2        y3     
cosa=(pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2)+pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2)-pow((a[b[i][1]][0]-a[b[i][3]][0]),2)-pow((a[b[i][1]][1]-a[b[i][3]][1]),2))/(((a[b[i][1]][0]-a[b[i][2]][0]))+((a[b[i][3]][1]-a[b[i][2]][1]))*((a[b[i][2]][0]-a[b[i][3]][0]))+((a[b[i][2]][1]-a[b[i][3]][1])))
if (cosa<0) h++;
}
Добавлено через 3 минуты 12 секунд
что все через одно место я знаю)))но по другому не умею и программа не дописанна...это только половина где то(((
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
07.01.2009, 01:15 15
Не пробовал циклами пользоваться? текст проще получается, и писать намного меньше

Добавлено через 4 минуты 5 секунд
Цитата Сообщение от manfeese Посмотреть сообщение
for(i=0;i<y;i++)
//1 òî÷êà 1 óãîë
// x0 x1 y0 y1 x0 x2 y0 y2 x1 x2 y1 y2 x0 x1 y0 y1 x0 x2 y0 y2
cosa=(pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)-pow((a[b[i][1]][0]-a[b[i][2]][0]),2)-pow((a[b[i][1]][1]-a[b[i][2]][1]),2))/(((a[b[i][0]][0]-a[b[i][1]][0]))+((a[b[i][0]][1]-a[b[i][1]][1]))*((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1])))
if (cosa<0) h++;
//1 òî÷êà 2 óãîë
// x0 x1 y0 y1 x0 x3 y0 y3 x1 x3 y1 y3 x0 x1 y0 y1 x0 x3 y0 y3
cosa=(pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2)-pow((a[b[i][1]][0]-a[b[i][3]][0]),2)-pow((a[b[i][1]][1]-a[b[i][3]][1]),2))/(((a[b[i][0]][0]-a[b[i][1]][0]))+((a[b[i][0]][1]-a[b[i][1]][1]))*((a[b[i][0]][0]-a[b[i][3]][0]))+((a[b[i][0]][1]-a[b[i][3]][1])))
if (cosa<0) h++;
//1 òî÷êà 3 óãîë
// x0 x2 y0 y2 x0 x3 y0 y3 x2 x3 y2 y3 x0 x2 y0 y2 x0 x3 y0 y3
cosa=(pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)+pow((a[b[i][0]][0]-a[b[i][3]][0]),2)+pow((a[b[i][0]][1]-a[b[i][3]][1]),2)-pow((a[b[i][2]][0]-a[b[i][3]][0]),2)-pow((a[b[i][2]][1]-a[b[i][3]][1]),2))/(((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1]))*((a[b[i][0]][0]-a[b[i][3]][0]))+((a[b[i][0]][1]-a[b[i][3]][1])))
if (cosa<0) h++;
if (h<2) g++;
h=0;
//2 toshka 1 ugol
// x0 x1 y0 y1 x0 x2 y0 y2 x1 x2 y1 y2 x1 x2 y1 y2 x1 x2 y0 y2
cosa=(-pow((a[b[i][0]][0]-a[b[i][1]][0]),2)-pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)+pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2))/((a[b[i][1]][0]-a[b[i][2]][0])+(a[b[i][1]][1]-a[b[i][2]][1]))*((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1])))
if (cosa<0) h++;
//2 òî÷êà 2 óãîë
// x0 x2 y0 y2 x0 x3 y0 y3 x2 x3 y2 y3 x0 x2 y0 y2 x2 x3 y2 y3
cosa=(pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)-pow((a[b[i][0]][0]-a[b[i][3]][0]),2)-pow((a[b[i][0]][1]-a[b[i][3]][1]),2)+pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2))/(((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1]))*((a[b[i][2]][0]-a[b[i][3]][0])+(a[b[i][2]][1]-a[b[i][3]][1]),2))
if (cosa<0) h++;
//1 òî÷êà 3 óãîë
// x1 x2 y1 y2 x2 x3 y2 y3 x1 x3 y1 y3 x1 x2 y1 y2 x2 x3 y2 y3
cosa=(pow((a[b[i][1]][0]-a[b[i][2]][0]),2)+pow((a[b[i][1]][1]-a[b[i][2]][1]),2)+pow((a[b[i][2]][0]-a[b[i][3]][0]),2)+pow((a[b[i][2]][1]-a[b[i][3]][1]),2)-pow((a[b[i][1]][0]-a[b[i][3]][0]),2)-pow((a[b[i][1]][1]-a[b[i][3]][1]),2))/(((a[b[i][1]][0]-a[b[i][2]][0]))+((a[b[i][3]][1]-a[b[i][2]][1]))*((a[b[i][2]][0]-a[b[i][3]][0]))+((a[b[i][2]][1]-a[b[i][3]][1])))
if (cosa<0) h++;
}

Что ты пытешся этим сделать?
0
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
07.01.2009, 01:26  [ТС] 16
проблемы возникли с построением цикла(((придумать не смог а мне надо всего 12 раз косинус этот посчитать=)а дальше простым циклом оно по строчкам будет повторяться..поэтому геморойным таким методом делал

Добавлено через 4 минуты 45 секунд
нужно найти угол и если он будет тупым (отрицательное значение косинуса) более одного раза, то повысить другой счетчик=)если другой счетчик равен четырем то все нормально и мне надо будет далее с этой строкой работать=)

Добавлено через 2 минуты 25 секунд
cosa=(...) в скобочках просто формула по которой нужно искать косинус=) выведена по теореме косинусов =)з
0
133 / 132 / 29
Регистрация: 04.01.2009
Сообщений: 415
07.01.2009, 01:41 17
Не знаю, может так должно быть

C++
1
2
3
4
5
6
7
8
9
for(i=0,h=0,g=0;i<y;i++)
{
//1 òî÷êà 1 óãîë
// x0 x1 y0 y1 x0 x2 y0 y2 x1 x2 y1 y2 x0 x1 y0 y1 x0 x2 y0 y2 
cosa=(pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)-pow((a[b[i][1]][0]-a[b[i][2]][0]),2)-pow((a[b[i][1]][1]-a[b[i][2]][1]),2))/(((a[b[i][0]][0]-a[b[i][1]][0]))+((a[b[i][0]][1]-a[b[i][1]][1]))*((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1])))
if (cosa<0)
{ h++; g++;}
else h=0;
}
А что за программу ты такую вообще пишешь???
Дай полное задание, чтобы войти в суть вопроса

Добавлено через 45 секунд
А то эту программу ты кусками пишешь...
0
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
07.01.2009, 01:50  [ТС] 18
В двухмерном пространстве задается некоторое количество точек . Нужно найти максимальный по площади выпуклый четырехугольник, которых из этих точек можно организовать.

Добавлено через 1 минуту 59 секунд
for(i=0,h=0,g=0;i<y;i++)
{
//1 òî÷êà 1 óãîë
// x0 x1 y0 y1 x0 x2 y0 y2 x1 x2 y1 y2 x0 x1 y0 y1 x0 x2 y0 y2
cosa=(pow((a[b[i][0]][0]-a[b[i][1]][0]),2)+pow((a[b[i][0]][1]-a[b[i][1]][1]),2)+pow((a[b[i][0]][0]-a[b[i][2]][0]),2)+pow((a[b[i][0]][1]-a[b[i][2]][1]),2)-pow((a[b[i][1]][0]-a[b[i][2]][0]),2)-pow((a[b[i][1]][1]-a[b[i][2]][1]),2))/(((a[b[i][0]][0]-a[b[i][1]][0]))+((a[b[i][0]][1]-a[b[i][1]][1]))*((a[b[i][0]][0]-a[b[i][2]][0]))+((a[b[i][0]][1]-a[b[i][2]][1]))).................




это для того что бы определить может ли 4 точки организовать выпуклый четырехугольник

Добавлено через 3 минуты 24 секунды
если брать любую точку и строить 3 угла с вершиной в этой точке, то для выпуклого четырехугольника количество тупых углов будет не более одного . таким способом проверяем все 4 точки четырехугольника и если все выполняется то можно с этими четырьмя точками работать дальше
0
07.01.2009, 01:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2009, 01:50
Помогаю со студенческими работами здесь

запутался
Ребят я очень долго играю в онлайн игру. Успешно пользовался ботом. Но на него зделали цену и я...

Запутался!
Мужики, умные люди помогите пожалуйста начинающему, я запутался, прочитал кучу инфы, проюзал гугл,...

IF ELSE-запутался
Здравствуйте! При нажатии кнопки Buttun если в Edit ввели 4 то действие 1, если неравно 4 то...

Я запутался:)
Здравствуйте, помогите разобраться почему не работает условие, программа не компилируется...:( ...

Рисование циклами
Нужна программа которая рисует картинку, желательно что-бы все было не отдельными командами, а...

Задача с циклами
Объясните пожалуйста на словах как решить. Задача 1. Напишите программу, которая по заданному...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru