Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.74
Arl
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 22
#1

Размещение элементов массива по спирали - C++

13.11.2009, 12:45. Просмотров 3495. Ответов 6
Метки нет (Все метки)

Как разместить элементы массива (nxn) по спирали (начиная с нижнего левого угла против часовой стрелки)?
http://www.cyberforum.ru/cpp-beginners/thread763857.html
Помогите пожалуйста!!((
0
Вложения
Тип файла: doc Spiral.doc (21.0 Кб, 92 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2009, 12:45
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Размещение элементов массива по спирали (C++):

Заполнение массива по спирали C++
Дано число n. Создайте массив A и заполните его по спирали, начиная с числа 0 в...

Заполнение массива по спирали
НАПРИМЕР ДАН МАССИВ N*N ТОЕСТЬ N в квадрате если 4 то равен 16 если 5 то равен...

Заполнение двумерного массива по спирали
По возможности, помогите получить целочисленную квадратную матрицу порядка...

Размещение элементов в массиве
Задача: Разместить все элементы с нулевым значением в левой части массива,...

Размещение с повторением элементов
Добрый вечер. Пытаюсь сделать проект, в котором ко всему прочему нужно...

6
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
13.11.2009, 13:09 #2
Цитата Сообщение от Arl Посмотреть сообщение
Как разместить элементы массива (nxn) по спирали (начиная с нижнего левого угла против часовой стрелки)?
Что значит разместить. Если они находятся в массиве, то они и так размещены (хоть по спирали, хоть по столбцам, хоть по строкам). Или есть одномерный массив размером n*n и его элементы нужно разместить по спирали в пустом массиве n*n? Или есть заполненный двумерный массив n*n и нужно вывести на экран (или в какой нибудь одномерный массив) его элементы в таком порядке (по спирали (начиная с нижнего левого угла против часовой стрелки))?
1
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
13.11.2009, 13:17 #3
XuTPbIu_MuHTAu не ведь зря трудился, http://www.cyberforum.ru/cpp-beginners/thread48705.html
1
Arl
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 22
13.11.2009, 13:27  [ТС] #4
valeriikozlov, сама задача сформулирована так: "заполнить матрицу последовательностью чисел, кратных 3, в следующем порядке: *рисунок спирали* "

как заполнить матрицу в обычном порядке числами, кратными 3 ,у меня получилось. а вот со спиралью мучаюсь- и никак не выходит((

Добавлено через 1 минуту
M128K145, класс, спасибо - пригодится! методы сортировки будемеще проходитЬ!! но там таких как эта задач нету(..

Добавлено через 3 минуты
valeriikozlov, я вот думал сделать как ваш вариант №3 (есть заполненный двумерный массив n*n и нужно вывести на экран его элементы в таком порядке) , но, у меня ничего не вышло..
0
M128K145
Эксперт JavaЭксперт С++
8320 / 3540 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
13.11.2009, 13:28 #5
Arl, посмотри внимательнее, там где матрицы
http://www.cyberforum.ru/cpp-beginne...455-page2.html
http://www.cyberforum.ru/visual-cpp/thread3621.html
0
Arl
0 / 0 / 0
Регистрация: 13.11.2009
Сообщений: 22
13.11.2009, 13:52  [ТС] #6
M128K145, спасибо, попытаюсь разобраться! там направление спиральки другое, но я попробую иправть)
0
valeriikozlov
Эксперт С++
4683 / 2509 / 751
Регистрация: 18.08.2009
Сообщений: 4,550
13.11.2009, 14:03 #7
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.h>
#include <windows.h>
int main ()
{
    int **mas, n, i,j, temp=3, kol_proh=0;
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    cout<<"Ââåäèòå N: "<< endl;
    cin>>n;
    mas=new int*[n];
    for(i=0; i<n; i++)
       mas[i]=new int[n];
    while((i!=n/2-1 && j!=n/2-1 && n%2==0) || (i!=n/2 && j!=n/2 && n%2!=0))
    {
        for(j=0+kol_proh; j<n-kol_proh; j++)
        {
            mas[n-1-kol_proh][j]=temp;
            temp+=3;
        }
        for(i=n-1-kol_proh; i>=kol_proh; i--)
        {
            mas[i][n-1-kol_proh]=temp;
            temp+=3;
        }
        for(j=n-1-kol_proh; j>=kol_proh; j--)
        {
            mas[kol_proh][j]=temp;
            temp+=3;
        }
        for(i=kol_proh; i<n-1-kol_proh; i++)
        {
            mas[i][kol_proh]=temp;
            temp+=3;
        }
        kol_proh++;
    }
   
    cout<<"ïîëó÷åГ*Г*Г*Гї Г¬Г*òðèöГ*"<<endl;
    for(i=0; i<n; i++)
        {
       for(j=0; j<n; j++)
       {
          cout.width(5);
          cout<<mas[i][j]<<" ";
       }
          cout<<endl;
       }
        return 0; 
}
1
13.11.2009, 14:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2009, 14:03
Привет! Вот еще темы с решениями:

Размещение элементов в памяти
Добрый день! Подскажите. может ли контейнер STL vector хранить значения типа...

Заполнить массив по спирали из одномерного массива
Есть одномерный массив - (1,2,3,...). Нужно на основании этих чисел заполнить...

Сортировка двумерного массива по спирали из центра
Помогите.Как сделать так, что бы двумерный массив сортировался как показано...

Вывод массива по спирали. Ошибка исполнения.
Дан квадратный массив задаваемой размерности, нужно вывести в ряд его элементы...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru