Ответы пользователя по тегу Алгоритмы
  • Как найти исходное число?

    WizardNG
    @WizardNG
    Математика, 3-й класс
    X+0.3*Y = Y
    X = Y - 0.3*Y
    X = 0.7 * Y
    Y = X / 0.7
    Ответ написан
    1 комментарий
  • Как повернуть матрицу на 90 градусов?

    WizardNG
    @WizardNG
    Если я правильно понимаю, конструкция во вложении цикле
    fill(......
    заполняет всю строку заданным значением. Вот ее и надо заменить на заполнение столбца. Наверное, понадобится еще один вложенный цикл,, чтобы пройти по всем строкам, и записать в заданную ячейку значение.

    Должно получиться что-то типа такого:

    vector> make_gradient(int height, int width)
    {
    assert(height > 0 && width > 0);

    int cf = width / 255;
    int color = 0;
    vector> result(height, vector(width));
    for (int i = 0; i < height ; i += cf)
    {
    for (int j = 0; j < cf; ++j)
    {
    for (Int z =0, z < width, z++)
    {
    result[z][i+j] = color % 255:
    }
    }
    color++;
    }
    stable_sort(result.begin(), result.end());
    return result;
    }

    int main(int argc, char *argv[])
    {
    ofstream file;

    file.open(argv[1]);

    if (!file)
    {
    cout << "can't open file" << endl;
    return 0;
    }

    file << "P5" << "\n";

    file << numrows << " " << numcols << "\n";

    file << 255 << "\n";

    vector> pixmap;

    for_each(pixmap.begin(), pixmap.end(), [&](const auto& v) {
    copy(v.begin(), v.end(), ostream_iterator{file, ""});
    });

    file.close();
    }

    Надеюсь, нигде не ошибся с координатами :)
    Ответ написан