Помогите с кодом для заполнения массива

 
0
 
C++
ava
StorFot | 05.12.2016, 21:27
Помогите пожалуйста переписать данный код что бы массив заполнялся таким образом:
15 19 22 24 25
10 14 18 21 23
  6   9 13 17 20
  3   5   8 12 16
  1   2   4   7 11
#include <iostream>

using namespace std;

int main()
{
    int arr[5][5];
    int i, j, k = 1;

    for (i = 4; i >= 0; i--) {
        for (j = 0; j <= 4 - i; j++) {
            arr[i + j][j] = k++;
        }
    }

    for (i = 1; i < 5; i++) {
        for (j = 0; j < 5 - i; j++) {
            arr[j][j + i] = k++;
        }
    }


    for (i = 0; i<5; i++)
    {
        for (j = 0; j<5; j++)
        {
            printf("%i ", arr[i][j]);
        }
        printf("\r\n");

        system("pause");
    }

    return 0;
}
Ответы (2)
ava
play34 | 06.12.2016, 12:44 #
Данный код записывается в файл руками так де как здесь в вопросе. Оператором читается построчно из файла, конвертится в то что нужно и заносится в массив. 
ava
solowey | 06.12.2016, 16:04 #

#include <iostream>

using namespace std;

int main()
{
    int arr[5][5];
    int i, j, k = 1;

    for (i = 4; i >= 0; i--) {
        for (j = 4 - i; j >= 0; j--) {
            arr[i + j][j] = k++;
            printf("[%i][%i] ", j, i + j);
        }
    }
    printf("\r\n");

    for (i = 4; i >= 0; i--) {
        int u = 4;
        for (j = i; j > 0; j--) {
            printf("[%i][%i] ", j - 1, u);
            arr[j - 1][u--] = k++;
        }
    }
    printf("\r\n");

    for (i = 0; i<5; i++)
    {
        for (j = 0; j<5; j++)
        {
            printf("%i\t", arr[i][j]);
        }
        printf("\r\n");
    }
    system("pause");

    return 0;
}
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
advanced
Отправить