3 / 3 / 1
Регистрация: 26.12.2019
Сообщений: 170
1

Двойная спираль в C++

26.12.2019, 17:47. Показов 1428. Ответов 2

Author24 — интернет-сервис помощи студентам
Нужно построить двумерный массив, с заполнением двойной спиралью. Самое сложное что сделать это нужно через один (For).
For для вывода ответа не учитывается. Нужно в срочном порядке.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2019, 17:47
Ответы с готовыми решениями:

Найти время, за которое двойная спираль молекулы ДНК может раскрутиться на две отдельные спирали
Считая молекулу ДНК "плотно упакованной" двойной спиралью радиусом R=6,8*{10}^{-10}м,найти...

Изобразить прямоугольную спираль из 5 витков. Обеспечить циклическое изменение (1 пиксел - 3 пиксела) толщины линий, которыми отрисована спираль
Спираль из 5 витков изобразил... помогите пожалуйста сделать анимацию изменения толщины линий ...

Изобразить прямоугольную спираль из 5 витков. Обеспечить циклическое изменение (1 пиксел - 3 пиксела) толщины линий, которыми отрисована спираль
Спираль из 5 витков изобразил... помогите пожалуйста сделать анимацию изменения толщины линий ...

Спираль
Начертить фигуру.Фигура состоит из четырех спиралей, заключенных в окружность радиуса r с центром в...

2
88 / 84 / 31
Регистрация: 18.11.2013
Сообщений: 390
26.12.2019, 21:11 2
Что такое двойная спираль?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <iomanip>
    using namespace std;
     
    vector<int> start_value;
     
    void calculate_values(int n) {
        start_value.clear();
        int current = 1;
        for(int i = 0; i < (n + 1) / 2; i++) {
            start_value.push_back(current);
            current += (n - (2 * i)) * 4 - 4;
        }
    }
     
    int get_value(int n, int i, int j) {
        n--;
        int dist = min(i, min(j, min(n - i, n - j)));
        int value = start_value[dist];
        if(i == dist) {
            return value + (j - dist);
        }
        value += n - (2 * dist);
        if(j == n - dist) {
            return value + (i - dist);
        }
        value += n - (2 * dist);
        if(i == n - dist) {
            return value + ((n - dist) - j);
        }
        value += (n - 2 * dist);
        // j == dist
        return value + ((n - dist) - i);
    }
     
    int main() {
        int n;
        cin >> n;
        calculate_values(n);
        for(int i = 0; i < n; i++) {
            for(int j = 0; j < n; j++) {
                cout << setw(3) << get_value(n, i, j) << " ";
            }
            cout << "\n";
        }
        return 0;
    }
Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
  1   2   3   4   5   6   7 
 24  25  26  27  28  29   8 
 23  40  41  42  43  30   9 
 22  39  48  49  44  31  10 
 21  38  47  46  45  32  11 
 20  37  36  35  34  33  12 
 19  18  17  16  15  14  13
будет, если ввести 7

Это можно решить видимо без предподсчета
1
3 / 3 / 1
Регистрация: 26.12.2019
Сообщений: 170
26.12.2019, 22:40  [ТС] 3
как я понял двойная спираль это хрень. да да я знаю что из меня художник супер. я я сам уже ничего не понимаю

_______
| ___
|_ | |
______|
0
26.12.2019, 22:40
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.12.2019, 22:40
Помогаю со студенческими работами здесь

Спираль
Требуется заполнить массив размера N × N единичками по спирали (начиная с верхнего левого угла по...

Спираль
По введенным значениям n, m (1 ≤ n ≤ 20, 1 ≤ m ≤ 20) заполните массив размерностью n × m...

Спираль
Помогите кому не сложно. Напишите программу, которая принимала бы на вход число (число = сторона...

Спираль
Нарисовать спираль из разоцветных звездочек


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
Как добавить пустую директорию в репозиторий Git
bytestream 22.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с ситуацией, когда необходимо сохранить пустую директорию в репозитории. Данная задача может показаться простой на первый. . .
Как валидировать адрес email в JavaScript
bytestream 22.01.2025
JavaScript, как основной язык веб-разработки, предоставляет разработчикам множество инструментов для реализации эффективной валидации email-адресов. От простых встроенных решений до сложных. . .
Как заменить все вхождения подстроки в JavaScript
bytestream 22.01.2025
Строки в JavaScript представляют собой неизменяемые последовательности символов, что делает их обработку особенно интересной с точки зрения оптимизации и выбора правильного подхода к решению задач. . . .
Управление версиями пакетов в Node.js. В чем разница между тильдой (~) и кареткой (^) в package.json
bytestream 22.01.2025
В современной разработке программного обеспечения управление версиями пакетов играет ключевую роль в обеспечении стабильности и надежности проектов. Node. js, как одна из самых популярных платформ для. . .
Аутентификация на сайте с помощью формы
bytestream 21.01.2025
В современном цифровом мире безопасная аутентификация становится краеугольным камнем защиты веб-приложений и пользовательских данных. Каждый день миллионы людей используют различные онлайн-сервисы,. . .
Как получить индекс в цикле for в Python
bytestream 21.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только получить доступ к элементам последовательности, но и знать их позицию в процессе итерации. Индексация в циклах. . .
Как определить адрес, из которого локальный репозиторий Git был клонирован
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемой частью рабочего процесса. При работе с Git разработчики часто сталкиваются с необходимостью. . .
Какая разница между операторами == и === в сравнениях в JavaScript
bytestream 21.01.2025
В мире веб-разработки JavaScript занимает особое место как динамический язык программирования, предоставляющий разработчикам широкий набор инструментов для создания интерактивных веб-приложений. . . .
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru