|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.09.2010, 13:35 | #1 |
Пользователь
Регистрация: 23.05.2010
Сообщений: 10
|
исправить!!!
Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, .. ., n^2, записывая их в нее "по спирали".
например,для n=5 получаем матрицу: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 Выручите пожалуйста! (вот сама программа: нужно исправить чтобы n считало даже больше 100 ....) и вид был такой : 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 Сама программа : #include <iostream> using namespace std; const int dx[] = {0,1,0,-1}; const int dy[] = {1,0,-1,0}; int a[100][100]; int main() { int n; cout << "Enter n: "; cin >> n; for(int i = 1; i <= n; i++) { a[0][i] = -1; a[i][0] = -1; a[n+1][i] = -1; a[i][n+1] = -1; } int x = 1, y = 1, d = 0; for(int i = 1; i <= n*n; i++) { a[x][y] = i; if(a[x+dx[d]][y+dy[d]] != 0) d = (d+1)%4; x += dx[d]; y += dy[d]; } for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) cout << a[i][j] << ' '; cout << endl; } system("pause"); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Исправить ошибки | dragun4ik | Помощь студентам | 3 | 06.02.2010 19:10 |
помогите исправить | fenix-88 | Помощь студентам | 0 | 21.06.2009 18:58 |
Помогите исправить | Virus' | Помощь студентам | 3 | 09.12.2008 17:21 |
помогите исправить | Aivar | Помощь студентам | 12 | 11.11.2008 20:04 |
Исправить ошибку | LLIypLLIyH | Помощь студентам | 5 | 16.06.2008 16:50 |