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

Ввод матрицы вручную - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Взаимодействие сайтов и VC++ http://www.cyberforum.ru/cpp-beginners/thread223094.html
Добрый вечер. Всех с наступившим! Нужна подсказка: где можно почитать про взаимодействие приложения с вебсайтом (получение куки, парсинг кода, отправка форм и тд). Буду благодарен за любую информацию.
C++ Определить три соседних дня с максимальной средней температурой Помогите решить полностью следующие задачи. 1.Начиная с понедельника, 1-го сентября, в течение 3-х недель один раз в день измеряется значение температуры. Таким образом, формируется двумерный массив T размерности 3x7. Найти: а) три соседних дня с максимальной средней температурой. б) два соседних дня, когда температура наиболее резко росла. в) периоды, когда температура понижалась. 2.... http://www.cyberforum.ru/cpp-beginners/thread223089.html
Ошибка в char... C++
Делаю программу. Одна из функций - открытие заданого файла: char *aud="magazine/"+ThisClass.c_str()+".xls"; char *path="magazine/"; ShellExecute(NULL,NULL,aud,path,NULL,SW_SHOW); ThisClass типа AnsiString. Но при компиляции в первой строке ошибка "invalid pointer addition". Подскажите, какую мелочь надо исправить???
C++ дескрипторы у пайпов
Во- первых, хочу поздравить всех с новым годом)))) итак, проблема в следующем: пишу чат на пайпах, использующий аутентификацию по керберосу... при создании сервером пайпа - клинет не может подключить к нему, ошибка в безопасности. Порылся в инете: пишут, что надо установаить дескриптор у пайпа, в которм указать, что обращаться к пайпу могут все. Собственно, вопрос, как это сделать? ...
C++ Стандарты и стили языков программирования http://www.cyberforum.ru/cpp-beginners/thread223045.html
Занимаясь программирование, например С++, иногда задумываешься, читая различную литературу и разбирая чужие коды программ, что большинство программистов, как начинающих, так и уже вполне опытных, смешивают два разных языка С и С++ (одним языком их никак не назовешь, даже в самом начале изучения). Причем и в университетах (имею ввиду свой) существует дисциплина ЯП С/C++, в которых с самого начала...
C++ компиляция программы на с Привет всем. У меня такая проблема. Я написал программу на С именно на С а не на С++. Написал я её в notepad++ а вот скомпилировать немогу. Есть у меня Visual Studio 2005, но как скомпилировать на нём то что писал не в нем? И возможно ли вообще компилировать программы на С в Visual Studio? подробнее

Показать сообщение отдельно
apachan
13 / 13 / 2
Регистрация: 07.12.2010
Сообщений: 127
04.01.2011, 12:54  [ТС]     Ввод матрицы вручную
Теперь программа иногда крашится при выборе поиска выхода из лабиринта (0)

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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#include <iostream>
#include <ctime>
#include <iomanip>
 
using namespace std;
 
#define MAX(a, b) (a > b ? a : b)
#define MIN(a, b) (a < b ? a : b)
 
const int N = 8,        // ?enei no?ie e
          M = 8;        // noieaoia a iao?eoa
 
int Matr[N][M];         // enoiaiay iao?eoa
int rowS, colS,         // eii?aeiaou ia?aeuiie e
    rowE, colE;         // eiia?iie oi?ae
       
void OutMatr(int Matrix[N][M]);                                                 
 
void main()
{
        int Matrix[N][M] = {{0}};       // iao?eoa n i?ioi?aaieai iooe
 
        setlocale(LC_ALL, "Russian");
        srand(time(0));
 
        cout << "\t--- Labirint  ---" << endl;
        cout << endl;
 
        for (int i = 0; i < N; i++)
                for (int j = 0; j < M; j++)
                        Matr[i][j] = rand() % 2;
 
        OutMatr(Matr);  // auaia enoiaiie iao?eou
        
                cout << "Vvedite koordinaty nachal'noj i konechnoj tochek:" << endl;
                cout << endl;
                     cout<< "Nachal'naja tochka raspolozhena" << endl;
                     cout << endl;
                     cout<< "V stroke # "; 
                     cin >> rowS;
                     cout << endl;
                cout << "V stolbce # "; 
                cin >> colS;
                cout << endl;
 
 while((rowS<0)||(colS<0)||(rowS>=N)||(colS>=N)||(Matr[rowS][colS]==1))
        {cout<<"Koordinaty zanjaty stenoj ili nahodjatsja vne labirinta. Vvedite koordinaty pravil'no "<<endl;
        cin>>rowS>>colS;}  
 
                cout << "Konechnaja tochka raspolozhena" << endl;
                cout << endl;
 
                     cout<< "V stroke # "; 
                     cin >> rowE;
                     cout << endl;
                cout << "V stolbce # "; 
                cin >> colE;
                cout << endl;
 
                 while((rowE<0)||(colE<0)||(rowE>=N)||(colE>=N)||(Matr[rowE][colE]==1))
        {cout<<"Koordinaty zanjaty stenoj ili nahodjatsja vne labirinta. Vvedite koordinaty pravil'no "<<endl;
        cin>>rowE>>colE;}  
        
                bool t;
                cout << "Najti vyhod iz labirinta ili najti put' do nuzhnoj tochki? 1/0: "; 
                cin >> t;
                
        int n = 2;      // i?ieaaiiia ?annoiyiea
        int offset[8] = {-1, 0, 1, 0, 0, -1, 0, 1};     // niauaiea ioiineoaeuii eeaoee
        bool endSearch;
        int startRow = rowS,    // eii?aeiaou i?yiioaieuieea aey iienea eeaoie ni cia?aieai n
            endRow   = rowS,
            startCol = colS,
            endCol   = colS;
                int rowExit, colExit;
 
        Matr[rowS][colS] = n;
        if (rowS == rowE && colS == colE) // Anee ia?aeuiay yaeyaony eiia?iie oi?eie
                goto Finish;
        do {            
                endSearch = false;
                for (int i = startRow; i <= endRow; i++)
                        for (int j = startCol; j <= endCol; j++)
                                if (Matr[i][j] == n)
                                        for (int k = 0; k < 8; k += 2)
                                                // anee iaeaaia eiia?iay eeaoea
                                                if (i + offset[k] == rowE && j + offset[k + 1] == colE && t) {
                                                        Matr[i + offset[k]][j + offset[k + 1]] = ++n;
                                                        goto Finish;
                                                } else
                                                        // i?iaa?ea ?oi eeaoea ia auoea ca a?aieou iao?eou
                                                        // e ?oi iia ionoa, o.a. ?aaia 0
                                                        if (i + offset[k]     >= 0 && i + offset[k]     <  N &&
                                                            j + offset[k + 1] >= 0 && j + offset[k + 1] <  M &&
                                                                Matr[i + offset[k]][j + offset[k + 1]] == 0) {
                                                                                                                                        if (!t && (i + offset[k]     == 0 || i + offset[k]     == N - 1 ||
                                                                                                                                                       j + offset[k + 1] == 0 || j + offset[k + 1] == M - 1)) {
                                                                                                                                                                   rowExit = i + offset[k];
                                                                                                                                                                   colExit = j + offset[k + 1];
                                                                                                                                                                   Matr[i + offset[k]][j + offset[k + 1]] = ++n;
                                                                                                                                                                   goto Finish;
                                                                                                                                        }
                                                                                                                                        Matr[i + offset[k]][j + offset[k + 1]] = n + 1;
                                                                                                                                        endSearch = true;
                                                        }
                n++;
                startRow = MAX(0    , startRow - 1);
                endRow   = MIN(N - 1, endRow   + 1);
                startCol = MAX(0    , startCol - 1);
                endCol   = MIN(M - 1, endCol   + 1);
        } while (endSearch);
Finish:
                if (!t) {
                        rowE = rowExit;
                        colE = colExit;
                }
        if (Matr[rowE][colE] != n)
                cout << "Put' ne najden" << endl;
        else {
                Matrix[rowE][colE] = --n;
                for (int i = n; i > 1; i--)
                        for (int k = 0; k < 8; k += 2)
                                if (Matr[rowE + offset[k]][colE + offset[k + 1]] == n) {
                                        Matrix[rowE + offset[k]][colE + offset[k + 1]] = --n;
                                        rowE += offset[k];
                                        colE += offset[k + 1];
                                        break;
                                }
                OutMatr(Matrix);
        }
        system("pause");
}
 
void OutMatr(int Matr[N][M])
{
        static int k = 1;
        cout << (k-- ? "Ishodnaja matrica:\n" : "\nVyvod puti::\n");
        cout << endl;
        for(int i = 0; i < N; i++) {
                for(int j = 0; j < M; j++)
                        cout << setw(3) << Matr[i][j];
                cout << endl;
                cout << endl;
        }
}
 
Текущее время: 11:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru