Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.02.2010, 09:52
svg1007 svg1007 вне форума
Прохожий
 
Регистрация: 23.02.2010
Сообщения: 2
Репутация: 10
По умолчанию Формирование матрицы по ее внешнему виду

Прошу помощи в решении следующей задачи:

Оформить программу формирования матрицы по её внешнему виду для любогшо заданного порядка 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  
Старый 23.02.2010, 10:15
Аватар для Ultras
Ultras Ultras вне форума
Начинающий
 
Регистрация: 09.02.2010
Адрес: Россия / Ставрополь
Сообщения: 138
Репутация: 475
По умолчанию

а дайка исходники на С++, попробую переделать на Delphi
Ответить с цитированием
  #3  
Старый 23.02.2010, 10:16
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

скинь исходник в частности сам цикл и за 10 минут переведу
Ответить с цитированием
  #4  
Старый 23.02.2010, 10:22
svg1007 svg1007 вне форума
Прохожий
 
Регистрация: 23.02.2010
Сообщения: 2
Репутация: 10
По умолчанию Исходник С++

Код:
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: Пользуемся тегами!

Последний раз редактировалось Admin, 23.02.2010 в 13:02.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter