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

Замок - обьясните задачу) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двумерный массив http://www.cyberforum.ru/cpp-beginners/thread659444.html
Подскажите пожалуйста! Я уже так устал за сегодня что в голову ничего не лезет и от кода голова кружится) Я сколько на это не смотрю не могу никак понять что здесь не так? GLfloat x={ {0.0f,92.0f},{2.0f,90.0f}, {2.0f,92.0f},{4.0f,90.0f}, {4.0f,92.0f},{6.0f,90.0f}, {4.0f,94.0f},{6.0f,92.0f}, {2.0f,96.0f},{4.0f,94.0f}}; компилятор подчеркивает вторые скобки в третьем...
C++ Арифметичиские операции над двоичными числами Всем привет)) хочу показать то, что у меня вышло по данному вопросу. А вопрос был таким (сам себе его поставил): сделать арифметичиские операции над двоичними числами, записанными в строку. То есть, сделать, чтоб эти числа можно было +,-,* и /. Как по-моему, то получилось. Но я думаю, что мой алгоритм можно будет упростить (пока не знаю как). И кто захочет и сможет упростить - будет кльово)) ... http://www.cyberforum.ru/cpp-beginners/thread659434.html
C++ Error C4430: отсутствует спецификатор типа - предполагается int
#include <iostream> #include <conio.h> #include <time.h> #include <stdio.h> using namespace std; main() { const int m=5; const int n=6; float A;
C++ Нужно написать программу для вычисления значения выражения
Нужно написать программу для вычисления значения выражения \frac{\ln |\cos x|}{\ln (1+{x}^{2})} #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <math.h> int main() {float x,y;
C++ Вывод второй строки из файла c++ http://www.cyberforum.ru/cpp-beginners/thread659364.html
В общем, нужно сделать так, что бы из файла(txt) считывалась и выводилась не первая строка, а ,например, вторая. Не предcтавляю как это сделать, помогите :)
C++ Когда нажимаю добавить элемент, и уже его ввожу, то вылетает ошибка и закрываеться программа Есть такая программулька: //class_sets.h using namespace std; class Set { private: struct SetElement { enum {ATOM, SET} type; union { подробнее

Показать сообщение отдельно
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 290

Замок - обьясните задачу) - C++

27.09.2012, 23:55. Просмотров 785. Ответов 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
#include<iostream>
#include<vector>
using namespace std;
 
int matrix[101][101],i,j,n,m,ans[101][101],paint=0,mask[4],square[10001];
 
void decode(int x)
{
    mask[0]=0;
    mask[1]=0;
    mask[2]=0;
    mask[3]=0;
    
    if(x>=8) 
    {
        mask[3]=1;
        x=x-8;
    }
    
    if(x>=4) 
    {
        mask[2]=1;
        x=x-4;  
    }
 
    if(x>=2) 
    {
        mask[1]=1;
        x=x-2;
    }
    if(x>=1) mask[0]=1;
 
}
 
 
void dfs(int x, int y)
{
    ans[x][y]=paint;
    square[paint]++;
    decode(matrix[x][y]);
    if ((mask[0]==0)&&(ans[x][y-1]==0)) dfs(x,y-1);
    decode(matrix[x][y]);
    if ((mask[1]==0)&&(ans[x-1][y]==0)) dfs(x-1,y);
    decode(matrix[x][y]);
    if ((mask[2]==0)&&(ans[x][y+1]==0)) dfs(x,y+1);
    decode(matrix[x][y]);
    if ((mask[3]==0)&&(ans[x+1][y]==0)) dfs(x+1,y);
}
 
 
 
 
int main()
{
    cin >> n >> m;
    for (i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            cin >> matrix[i][j];
            ans[i][j]=0;
        }
    for(i=1;i<=n*m;i++)
        square[i]=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            if(ans[i][j]==0)
            {
                paint++;
                dfs(i,j);
            }
 
    for (i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
            cout<<ans[i][j]<<" ";
        cout<<endl;
    }
    cout << "Total "<<paint<<" flats"<<endl;
    for(i=1;i<=paint;i++)
        cout<<"square of flat number "<<i<<" - "<<square[i]<<endl;
 
    int maxsq=0;
    int froom=0;
    int sroom=0;
 
    for(i=1;i<=n-1;i++)
        for(j=1;j<=m-1;j++)
        {
            if(square[ans[i][j]]!=square[ans[i][j+1]])
                if (square[ans[i][j]]+square[ans[i][j+1]]>maxsq)
                {
                    maxsq=square[ans[i][j]]+square[ans[i][j+1]];
                    froom=ans[i][j];
                    sroom=ans[i][j+1];
                }
            if(square[ans[i][j]]!=square[ans[i+1][j]])
                if (square[ans[i][j]]+square[ans[i+1][j]]>maxsq)
                {
                    maxsq=square[ans[i][j]]+square[ans[i+1][j]];
                    froom=ans[i][j];
                    sroom=ans[i+1][j];
                }
        }
 
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            if(ans[i][j]==sroom)
                ans[i][j]=froom;
 
    cout<<endl;
    
    if (froom!=0)
        cout<<"room "<<froom<<" and room "<<sroom<<" are united"<<endl;
 
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
            cout<<ans[i][j]<<" ";
        cout<<endl;
    }
}
Вложения
Тип файла: doc Замок.doc (27.0 Кб, 29 просмотров)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru