![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Прошу помощи в решении следующей задачи:
Оформить программу формирования матрицы по её внешнему виду для любогшо заданного порядка nXn (n-нечетное): 13 14 15 16 17 12 3 4 5 18 11 2 1 6 19 10 9 8 7 20 25 24 23 22 21 Просто нужно написать ее на С++ и на Delphi... Вот во вторым у меня познания очень скудные... Если надо, могу предоставить листинг программы для С++ |
#2
|
||||
|
||||
![]() а дайка исходники на С++, попробую переделать на Delphi
![]() |
#3
|
||||
|
||||
![]() скинь исходник в частности сам цикл и за 10 минут переведу
![]() |
#4
|
|||
|
|||
![]() Код:
setlocale(2,"rus"); int i, j, k, n, p; // n - размер матрицы, j - вспомогательный индекс printf("Введите размер квадратной матрицы: "); fflush(stdin); scanf("%d", &n); // ввод числа в n int **A = new int*[n]; for(i=0; i<n; i++) A[i] = new int[i]; i = n*n; // i-текущее число p = n/2; // p - центральный элемент for(k=1; k<=p; k++) // к - номер витка { for(j=k-1; j<n-k+1; j++) A[n-k][j] = i--; // снизу for(j=n-k-1; j>=k-1; j--) A[j][n-k] = i--; // справа for(j=n-k-1; j>=k-1; j--) A[k-1][j] = i--; // сверху for(j=k; j<n-k; j++) A[j][k-1] = i--; // слева } if(n%2==1) A[p][p]=1; // центральный элемент для нечётных n // далее вывод for(i=0;i<n;i++) { printf("\n"); for(j=0;j<n;j++) printf(" %4d ",A[i][j]); } printf("\n\nНажмине любую клавишу для выхода..."); getch(); return 0; Последний раз редактировалось Admin, 23.02.2010 в 13:02. |