Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Заполнить матрицу 9х9 в соответствии с рисунком


Автор: repbl4 10.6.2009, 20:25
Помогите пожалуйста решить следующую задачу:
Заполнить матрицу линейной последовательностью(1-81), от левого верхнего угла по диагонали: вправо - вверх, в соответствии с рисунком:
http://radikal.ru/F/s40.radikal.ru/i088/0906/78/08a04dbff187.gif.html

Автор: andrew_121 10.6.2009, 20:32
repbl4, а что с шестеркой и девяткой?

Автор: zim22 10.6.2009, 20:32
Цитата(repbl4 @  10.6.2009,  20:25 Найти цитируемый пост)
Помогите пожалуйста решить следующую задачу:

возьмём к примеру первую строку:
Цитата

1 3 6 10 15 21 28 36 45

закономерность не видите?
1+2 = 3
3 + 3 = 6
6 + 4 = 10
10 + 5 = 15

Цитата(andrew_121 @  10.6.2009,  20:32 Найти цитируемый пост)
а что с шестеркой и девяткой?

с ними всё нормально. это неверная интерпретация решения задачи.

Автор: repbl4 11.6.2009, 00:21
Окончательный код
Код

#include <stdio.h>
#include <conio.h>
#define S 9
int Ar[S][S];
int main(void) {
clrscr();
short i,j;
short k;
k=1;
for (i=0;i<S;i++) {
for (j=0;j<=i;j++) {
Ar[i-j][j]=k++;
}
}
for (j=1;j<S;j++) {
for (i=0;i<=S-1-j;i++) {
Ar[S-1-i][j+i]=k++;
}
}
for (i=0;i<S;i++) {
for (j=0;j<S;j++) {
printf("%3d",Ar[i][j]);
}
printf("\n");
}
return 0;
}

Автор: Valinur 11.6.2009, 20:22
Код

#include <stdio.h>
#include <conio.h>

#define SIZE 9
typedef int matr[SIZE][SIZE];

void CreateMatr(matr &a)
{
    int num = 0;
    for (int i=0;i<SIZE;i++){
        for (int j=0;j<=i;j++){
            a[i-j][j] = num+1;
            a[SIZE-1-i+j][SIZE-1-j] = SIZE*SIZE-num;
            num++;
        }
    }
}

int main()
{
    int A[SIZE][SIZE];

    CreateMatr(A);

    for (int i=0;i<SIZE;i++){
        for (int j=0;j<SIZE;j++){
            printf("%4d",A[i][j]);
        }
        printf("\n");
    }
    _getch();
};


Будет работать для матрицы любого размера, заданной SIZE

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)