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

Графы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с EditBox в Visual Studio 2006 http://www.cyberforum.ru/cpp-beginners/thread153229.html
Я работаю с MFC інтерфейсов и ставил неактивними EditBox с помощью галочки в properties но теперь постала проблема в том штоб заставить ее исчезнуть в ходе работи програми. Какие есть функции для работи с EditBox и Button. Возможно книгу посоветуйте где есть етот вопрос. Спасибо. Извените за написание.
C++ Оператор присваивания Почему в этом случае вызывается оператор присваивания Fraction f4; f4 = f1+f2+f3; а в другом не вызывается: Fraction f4 = f1+f2+f3; Вот весь код: #include <stdafx.h> #include <conio.h> using namespace std; class Fraction { http://www.cyberforum.ru/cpp-beginners/thread153217.html
C++ Ввод неопределенного количества символов
В программе нужно реализовать возможность ввода символов, но не известно сколько раз надо это сделать. После идет обработка того, что мы ввели. ввод симолов заканчивается при нажатии например "Z". Как-то делал, но не помню как....
C++ Есть ли в классе строк или в алгоритмах разбиение строку на лексемы?
Собственно сабж, как говорится. Хотел переписать программу, которую делал с Си строками и массивом Си строк. Сделана она была не совсем правильно, ибо там логичнее было использовать двумерный массив, но все же. Вот переписал с использованием string. Только долго пришлось маяться. Искал какую-нибудь функцию, чтобы не переводить в Си строку для разбиения на слова. Есть ли такие стандартные функции...
C++ Как перерисовать всю клиентскую область? http://www.cyberforum.ru/cpp-beginners/thread153157.html
Всем доброго времени суток. Подскажите пожалуйста, как заставить свое окно перерисовываться полностью в момент его неактивности? Например, когда его частично закрыть другим окном, после чего открыть - перерисовывается та закрытая часть но не вся клиентская область. Как перерисовать всю клиентскую область?
C++ типовые алгоритмы сортировки типовые алгоритмы сортировки как они выглядят ? подробнее

Показать сообщение отдельно
dxdy
 Аватар для dxdy
97 / 97 / 5
Регистрация: 14.06.2010
Сообщений: 283
14.07.2010, 16:03     Графы
В принципе мне в своем коде проще разобраться, там всего лишь надо добавить одну функцию, проверка массива на равенство для первого задания:
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
#include <iostream>
#include <fstream>
using namespace std;
 
int ReadFile(char *name);
void IniMatrix(int **&Array, int n, int *&Check);
int *CheckMatrix(int **Array, int n, int *Check);
int PrintMatrix(int **Array, int n);
bool CheckRav(int *Check, int n);
 
int main(){
        ReadFile("test.txt");
        return 0;
}
 
//-----------------------
int ReadFile(char *name){
        ifstream in(name);
        if(!in){ cout <<"Error" << endl; return -1; }
 
        int n = 0;
        in >> n;
        if(n <= 0){ cout << "Error" << endl; return -1; }
 
        int **Array = new int*[n];
        for(int i = 0; i < n; i++)
                Array[i] = new int[n];
 
        int *Check = new int[n+1];
        IniMatrix(Array,n,Check);
        int value = 0;
        // считываем из матрицы
                for(int i = 0; i < n; i++){
                        for(int j = 0; j < n; j++)
                                if( in >> value ){
                                        Array[i][j] = value;
                                }else{
                                        cout << "Matrix ne polsost zapoln" << endl; break;
                                }
                }
        PrintMatrix(Array,n);
        in.close();
 
        // считаем количество ребер
        Check = CheckMatrix(Array,n,Check);
 
        // проверяем на равенство вершины
        if( CheckRav(Check,n) ){
            for(int i = 0; i < n; i++){
                if( Array[0][i] == 1 ){
                    Array[0][i] = 0; break;
                }
            }
            cout << "\nZadanie 1" << endl;
            PrintMatrix(Array,n);
        }
        else{
            cout << "Ravenstvo ne vypoln!" << endl;
        }
 
        for(int i = 0; i < n; i++)
                delete []Array[i];
        delete []Array;
        delete []Check;
        return 0;
}
 
//-------- Инициализация
void IniMatrix(int **&Array, int n, int *&Check){
        for(int i = 0; i < n; i++){
                for(int j = 0; j < n; j++)
                        Array[i][j] = 0;
                Check[i] = 0;
        }
        Check[n] = 0;
}
 
//-------------------
int *CheckMatrix(int **Array, int n, int *Check){
        for(int i = 0; i < n; i++){
                for(int j = 0; j < n; j++){
                        if( Array[i][j] == 1 )
                                Check[i]++;
                }
        }
        return Check;
}
 
//-----------
int PrintMatrix(int **Array, int n){
        for(int i = 0; i < n; i++){
                for(int j = 0; j < n; j++)
                        cout << Array[i][j] <<" ";
                cout << endl;
        }
        return 0;
}
 
//------------
bool CheckRav(int *Check, int n){
    for(int i = 1; i < n; i++){
        if( Check[i] != Check[0] ){
            return false;
        }
    }
    return true;
}
Пример документа "test.txt"
3
0 1 1
1 0 1
1 1 0
Пример работы программы:
Изображения
 
 
Текущее время: 15:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru