26.04.2011, 21:11 | #1 (permalink) |
Новичок
Регистрация: 26.04.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Программка на с++. Вывод готового массива по спирали из центра
Есть программа с множеством различных функций. Так вот одна из них - вывод отсортированного массива по спирали вверх против часовой стрелки, криво работает. Функция работает с простыми числами (от 1 до сайз*сайз), но повторяет значения элементов, если пытаешься присвоить массив. Код:
void SPIRAL(int nums[size][size]) { int iIndex, jIndex, n = 0; int *p=&nums[0][0]; iIndex = jIndex = size / 2; while (n < size) { for (int a = 0; a < n; a++) { nums[iIndex++][jIndex] = *p++; //вверх } for (int a = 0; a < n; a++) { nums[iIndex][jIndex++] = *p++; //влево } n++; for (int a = 0; a < n; a++) { nums[iIndex--][jIndex] = *p++; //вниз } for (int a = 0; a < n; a++) { nums[iIndex][jIndex--] = *p++; //вправо } n++; } for (int i = 0; i < size; i++) { for (int j = 0; j < size; j++) { cout << setw(4) << nums[i][j]; } cout << endl; } } |
26.04.2011, 21:11 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Возможно участники форума давали ответ в похожих темах Вывод данных о температуре Программка для Arduino Diecimila |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|