Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
svisst
0 / 0 / 0
Регистрация: 16.12.2012
Сообщений: 4
1

Перевод кода из C++

16.12.2012, 11:50. Просмотров 405. Ответов 7
Метки нет (Все метки)

помогите переписать с С++ на С

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
int main(int argc, char* argv[])
{
 
    int n,i,j,k,p=0,kb,q;
 
    unsigned long *SetP,CurrSet;
 
    double *X,*Y;
 
   printf("n=");
    scanf("%d",&n);
 
    X=new double[n];
    Y=new double[n];
 
        SetP=new unsigned long[n];
 
       for (i=0; i<n; i++)
    {
        printf( "X[%d]=",i);
        scanf("%f",& X[i]);
        printf( "Y[%d]=",i);
        scanf("%f",& Y[i]);
    }
    
    for (i=0; i<n; i++) SetP[i]=0;
 
    for (i=0; i<n-1; i++)
        for (j=i+1; j<n; j++)
        {
            CurrSet=0;
            CurrSet=CurrSet | (1 << i);
            CurrSet=CurrSet | (1 << j);
            kb=2;
 
            for (k=0; k<n; k++)
            {
 
                if ((k != i) && (k != j))
                    if (fabs((X[k]-X[i])*(Y[j]-Y[i])-(X[j]-X[i])*(Y[k]-Y[i])) <= 1.0E-9)
                    {
                                           CurrSet=CurrSet | (1 << k); 
                       kb++;
                    }
 
            }
 
            if (kb > 2)
            {
               q=0;
               for (k=0; k<p; k++)
                    if (CurrSet == SetP[k])
                    {
                      q=-1;
                      break;
                    }
                           if (q == 0) SetP[p++]=CurrSet;
            }
 
        }
 
    for (i=0; i<p; i++) 
    {
        for (j=0; j <= 31; j++)
            if (SetP[i] & (1 << j)) std::cout << j << " ";
        std::cout << std::endl;
    }
 
    delete [] X;
        delete [] Y;
    delete [] SetP;
    
    return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 11:50
Ответы с готовыми решениями:

Перевод кода с C++
Доброго времени суток! помоги пожалуйста переделать код задачи из С++ в С...

Перевод кода С++ на Си
Здравствуйте! Прошу помощи в переводе данного кода с языка Cpp на язык Си. Буду...

Перевод кода с С++ на Си
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; int main() { clrscr(); int...

Перевод кода с C++
Помогите,перевести,пожалуйста. #include &lt;iostream&gt; #define SIZE 10 int...

Перевод кода из С++ в С
Помогите пожалуйста перевести код из С++ и С #include &lt;iostream&gt; using...

7
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
16.12.2012, 12:28 2
а какое задание чтоб проверить
Код
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
#include <stdio.h>
#include <alloc.h>
 
 
int main()
{
 
    int n,i,j,k,p=0,kb,q;
 
    unsigned long *SetP,CurrSet;
 
    double *X,*Y;
 
   printf("n=");
    scanf("%d",&n);
 
    X=(double *) malloc(n);
    Y=(double *) malloc(n);
 
        SetP=(unsigned*) malloc(n);
 
       for (i=0; i<n; i++)
    {
        printf( "X[%d]=",i);
        scanf("%f",& X[i]);
        printf( "Y[%d]=",i);
        scanf("%f",& Y[i]);
    }
 
    for (i=0; i<n; i++) SetP[i]=0;
 
    for (i=0; i<n-1; i++)
        for (j=i+1; j<n; j++)
        {
            CurrSet=0;
            CurrSet=CurrSet | (1 << i);
            CurrSet=CurrSet | (1 << j);
            kb=2;
 
            for (k=0; k<n; k++)
            {
 
                if ((k != i) && (k != j))
                    if (fabs((X[k]-X[i])*(Y[j]-Y[i])-(X[j]-X[i])*(Y[k]-Y[i])) <= 1.0E-9)
                    {
                                           CurrSet=CurrSet | (1 << k);
                       kb++;
                    }
 
            }
 
            if (kb > 2)
            {
               q=0;
               for (k=0; k<p; k++)
                    if (CurrSet == SetP[k])
                    {
                      q=-1;
                      break;
                    }
                           if (q == 0) SetP[p++]=CurrSet;
            }
 
        }
 
    for (i=0; i<p; i++)
    {
        for (j=0; j <= 31; j++)
            if (SetP[i] & (1 << j)) printf("%f ",j);
            printf("/n");
    }
 
    free(X);
    free(Y);
    free(SetP);
 
    return 0;
 
}


Добавлено через 11 минут
как то scanf коряво работает )=
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
16.12.2012, 12:36 3
Цитата Сообщение от Nixy Посмотреть сообщение
как то scanf коряво работает )=
Вы не правильно пишете
Цитата Сообщение от Nixy Посмотреть сообщение
scanf("%f",& X[i]);
C
1
scanf("%lf", &X[i]);
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
16.12.2012, 13:25 4
Цитата Сообщение от go Посмотреть сообщение
Вы не правильно пишете

C
1
scanf("%lf", &X[i]);
я им не пользовался никогда, это с ТС скопировано, а lf что означает? f по спецификации это для плавающей запятой , а l?
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
16.12.2012, 14:00 5
Nixy, f - float, l - long, т.е. double (двойной float)
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
16.12.2012, 14:04 6
а почему с обычным float не работало?
0
go
Эксперт С++
3637 / 1369 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
16.12.2012, 14:08 7
Цитата Сообщение от Nixy Посмотреть сообщение
а почему с обычным float не работало?
Размер переменной разный, не так интерпретируется память.
1
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
16.12.2012, 14:20 8
понял, нету автопреобразвования, увидел табличку спасибо
0
16.12.2012, 14:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 14:20

Перевод кода с C++
помогите пожалуйста перевести #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Перевод кода с C++ в C
Уже долго маюсь с этим кодом, вроде ничего сложного, но все равно не могу...

Перевод кода на С
#include &lt;stdio.h&gt; #include &lt;time.h&gt; #include &lt;stdlib.h&gt; int main(int...


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

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

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