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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Adrian
 Аватар для Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
06.01.2009, 01:14     Запутался с циклами #1
хочу что подпрограмка при вводе 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;
}
        
 
}
з.ы.
лишние переменный из за того что это кусок проги =)

Заранее благодарен за помощ
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2009, 01:14     Запутался с циклами
Посмотрите здесь:

C++ 3 зaдaчи с циклами
C++ Проблема циклами
задачи с циклами C++
C++ Работа с циклами
C++ ошибка с циклами
C++ Задача с циклами
C++ Проблемы с циклами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
 Аватар для ISergey
1345 / 878 / 51
Регистрация: 02.01.2009
Сообщений: 2,642
Записей в блоге: 1
06.01.2009, 02:23     Запутался с циклами #2
Цитата Сообщение от Adrian Посмотреть сообщение
хочу что подпрограмка при вводе m=6 выводила 0123....
ето можно вывести в "cout";
ты объясни что тебе конкретно надо.
Adrian
 Аватар для Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
06.01.2009, 10:51  [ТС]     Запутался с циклами #3
нужно что бы программа составляла масив из всех возможных комбинаций 4 цифр.
то есть ввод м=6 значит, что нужно перебрать все возможные комбинации 4 цифр из ряда 0.1.2.3.4.5
the_t_a
10 / 10 / 1
Регистрация: 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().
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
06.01.2009, 15:50     Запутался с циклами #5
Эта прога ведь выдает результат с повторениями, Т.е. если взято число 3, то оно по идее не должно составить скажем комбинации 3003, или 3333,
Я так понял, что числа не должны повторятся в комбинациях...
the_t_a
10 / 10 / 1
Регистрация: 27.09.2008
Сообщений: 43
06.01.2009, 15:58     Запутался с циклами #6
что нужно перебрать все возможные комбинации 4 цифр
Задание состоит в том, чтобы перебрать все возможные варианты, значит повтория имеют место быть, если задание, конечно, корректно сформулировано.
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 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;
}
the_t_a
10 / 10 / 1
Регистрация: 27.09.2008
Сообщений: 43
06.01.2009, 16:35     Запутался с циклами #8
Верно он работает, так как надо, но я бы переписал его, так, чтобы проверка повторений осуществлялась в последнем цикле. Смотрится намного приятнее и с таким кодом удобнее работать.
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
06.01.2009, 21:52     Запутался с циклами #9
Возможно! но стаким кодом как я написал программа вычиления производит быстрее, нежели в последнем цикле проверять лишний раз условия 1 и 2 (строки №10 и 12). Больше времени затрачивается.
Adrian
 Аватар для Adrian
0 / 0 / 0
Регистрация: 05.01.2009
Сообщений: 23
07.01.2009, 00:52  [ТС]     Запутался с циклами #10
спасибо за помошь=)тока чет я еще больше заморочился=)я половину функций ваших не знаю=)
свой код исправил=)вроде работает=)
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
07.01.2009, 00:55     Запутался с циклами #11
А что конкретно не ясно?
Adrian
 Аватар для Adrian
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 секунд
в скобочках заместо точек у меня функция
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
07.01.2009, 01:00     Запутался с циклами #13
Весь текст покажи, а то не ясно, что именно не работает!
Adrian
 Аватар для Adrian
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 секунд
что все через одно место я знаю)))но по другому не умею и программа не дописанна...это только половина где то(((
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 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++;
}

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

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

Добавлено через 2 минуты 25 секунд
cosa=(...) в скобочках просто формула по которой нужно искать косинус=) выведена по теореме косинусов =)з
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 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 секунд
А то эту программу ты кусками пишешь...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2009, 01:50     Запутался с циклами
Еще ссылки по теме:

Задачи с циклами C++
C++ C++ задача с циклами
C++ Пороблема с циклами
C++ Работа с циклами
Задача с циклами while и do while C++

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

Или воспользуйтесь поиском по форуму:
Adrian
 Аватар для Adrian
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 точки четырехугольника и если все выполняется то можно с этими четырьмя точками работать дальше
Yandex
Объявления
07.01.2009, 01:50     Запутался с циклами
Ответ Создать тему
Опции темы

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