|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.01.2014, 22:27 | #1 |
Новичок
Джуниор
Регистрация: 21.01.2014
Сообщений: 1
|
Перевод кода из C++ в Pascal
Ребят, помогите, пожалуйста, перевести код из C++ в Pascal
Собственно, сам код: #include <cstdlib> #include <fstream> #include <iostream> #include <conio.h> #include <time.h> #include <math.h> #include<windows.h> #include <stdio.h> using namespace std; const int MAXN = 100; const int M = 10; int matr[MAXN][MAXN]; int n; int dx[8] = {1, 0, -1, 0, 1, 1, -1, -1}; int dy[8] = {0, 1, 0, -1, 1, -1, 1, -1}; int check(int x, int y) { return x >= 0 && x < n && y >= 0 && y < n; } pair<int, int> next(int x, int y) { int s = (x + y) % 2; int nx, ny; if (s == 1) { nx = x - 1; ny = y + 1; if (!check(nx, ny)) { if (y != n - 1) { nx = x; ny = y + 1; } else { nx = x + 1; ny = y; } } } else { nx = x + 1; ny = y - 1; if (!check(nx, ny)) { if (x != n - 1) { nx = x + 1; ny = y; } else { nx = x; ny = y + 1; } } } return make_pair(nx, ny); } pair<int, int> prev(int x, int y) { for (int i = 0; i < 8; i++) { int nx = x + dx[i]; int ny = y + dy[i]; if (!check(nx, ny)) continue; if (next(nx, ny) == make_pair(x, y)) return make_pair(nx, ny); } return make_pair(0, 0); } int main() { cin >> n; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) matr[i][j] = rand() % M; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) cout << matr[i][j] << ' '; cout << endl; } cout << endl; int cx = 0, cy = 0; for (int i = 0; i < n * n; i++) { int px = cx, py = cy; while (px != 0 || py != 0) { pair<int, int> tmp = prev(px, py); if (matr[tmp.first][tmp.second] > matr[px][py]) { swap(matr[tmp.first][tmp.second], matr[px][py]); px = tmp.first; py = tmp.second; } else break; } pair<int, int> tmp = next(cx, cy); cx = tmp.first; cy = tmp.second; } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) cout << matr[i][j] << ' '; cout << endl; } _getch(); return 0; } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод кода из Pascal в C++ | guzel20 | Помощь студентам | 14 | 05.12.2012 20:10 |
Перевод кода с Pascal на C++ | n3250sasha | C++ Builder | 1 | 04.11.2012 16:19 |
Массивы. Перевод кода из Pascal в C++ | Ilepekyp | Помощь студентам | 2 | 09.03.2012 23:42 |
Перевод кода из Pascal в C++ | Kerragin | Помощь студентам | 5 | 13.12.2011 07:54 |
Перевод кода из Pascal в Object Pascal | zemskov77 | Общие вопросы Delphi | 1 | 03.01.2009 09:37 |