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

Заполнить квадратную матрицу по спирали

09.05.2016, 11:56. Просмотров 549. Ответов 6
Метки нет (Все метки)

Одномерный:
В заданном целочисленном массиве R(9) определить индекс наибольшего из нечетных по значению положительных элементов.
Двумерный:
Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1,2,3,...,n2, записывая их в неё " по спирали" против часовой стрелки.

Помогите пожалуйста сделать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2016, 11:56
Ответы с готовыми решениями:

Заполнить целочисленную квадратную матрицу по спирали
Получить целочисленную квадратную матрицу порядка 2n+1, элементами которой...

Заполнить квадратную матрицу числами по спирали
Задача B. Спираль В этой задаче вам необходимо вывести квадрат, состоящий из...

Заполнить квадратную матрицу размером N x N по спирали
Заполнить квадратную матрицу размером N x N по спирали (N – нечётное число). ...

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

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

6
zss
Модератор
Эксперт С++
7102 / 6630 / 4199
Регистрация: 18.12.2011
Сообщений: 17,490
Завершенные тесты: 1
09.05.2016, 12:24 #2
См. ссылки внизу страницы
0
Armatus
53 / 53 / 45
Регистрация: 24.03.2016
Сообщений: 377
Завершенные тесты: 4
09.05.2016, 12:28 #3
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
#include <iostream> 
 
int main()
{
    using namespace std;
    int massCh[9] = { 1,2,3,4,5,6,7,8,9 };
    int nechet[9];
    int k = 0;
    for (int i = 0; i < 9; i++) {
        if ((massCh[i] % 2) != 0) {
            nechet[k] = massCh[i];
            k++;
        }   
    }
    for (int i = 0; i < k; i++) {
        cout << "nechetnie: " << nechet[i] << endl;
    }
    int max = nechet[0];
    for (int i = 0; i < k-1; i++) {
        if (max < nechet[i + 1])
            max = nechet[i + 1];
    }
    cout << "Max nechet:" << max << endl;
    
}
0
Desking
0 / 0 / 0
Регистрация: 01.03.2016
Сообщений: 82
09.05.2016, 13:34 #4
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
#include <iostream>
 
using namespace std;
 
 
int main() {
    int n,a,b;
    cin>>n>>a>>b;
    int mas[n][n];
    int k=1,j=0,s=1;
    while(j<n*n) {
        for (int i = s-1; i < n-(s-1); ++i) {
            mas[s-1][i] = k++;
            j++;
        }
        for (int i = s; i < n-(s-1); ++i) {
            mas[i][n - s] = k++;
            j++;
        }
        for (int i = n - (s+1); i >= s-1; i--) {
            mas[n - s][i] = k++;
            j++;
        }
        for (int i = n - (s+1); i >= s; i--) {
            mas[i][s-1] = k++;
            j++;
        }
        s++;
    }
 
    cout<<mas[a-1][b-1];
 
    return 0;
}
Только здесь за часовой
0
Fixer_84
1040 / 654 / 649
Регистрация: 30.04.2016
Сообщений: 2,226
09.05.2016, 15:10 #5
Sterka, а спираль закручивается или раскручивается?
0
Hilarior
18 / 17 / 22
Регистрация: 03.05.2016
Сообщений: 105
Завершенные тесты: 1
09.05.2016, 15:44 #6
Держи

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
50
int main(void) 
{
    setlocale(LC_ALL, "Russian");
 
    int i, j;
    int n1, n2;
    int max = 0, ind = 1;
 
    cout << "Введите размер одномерного массива A[N]: \n N = ";
    cin  >> n1;
 
    int* A1 = new int[n1];
 
    for (i = 0; i < n1; i++)
        A1[i] = 10 + rand()%89;
 
    for (i = 0; i < n1; i++)
        if (A1[i] % 2)
            if (A1[i] > max)
                max = A1[i];
    
    for (i = 0; i < n1; i++)
        cout << A1[i] << ' ';
 
    cout << '\n' << max << '\n';
 
    cout << "Введите размер двухмерного массива A[NxN]: \n N = ";
    cin  >> n2;
 
    int** A2 = new int*[n2];
 
    for (i = 0; i < n2; i++)
        A2[i] = new int[n2];
 
    for (i = 0; i < n2; i++)
        for (j = n2-1; j >= 0; j--)
            A2[i][j] = ind++;
 
    for (i = 0; i < n2; i++)
    {
        for (j = 0; j < n2; j++)
            cout << A2[i][j] << ' ';
 
        cout << '\n';
    }
 
    cout << endl;
 
    return 0;
}
0
Petrolion
24 / 24 / 8
Регистрация: 02.02.2016
Сообщений: 135
Завершенные тесты: 1
09.05.2016, 15:52 #7
Sterka, Fixer_84 правильно уточнил.
Т.е. интересует место старта заполнения и:
При раскрутке при нечетном n направление первого шага.
При закрутке угол из которого стартуем.
0
09.05.2016, 15:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2016, 15:52

Заполнить заданную квадратную матрицу по спирали числами 0 и 1
Всем привет! Поставили передо мной следующую задачу: Написать программу,...

Заполнить квадратную матрицу от левого верхнего угла по спирали
Заполнить матрицу А(9,9), от левого верхнего угла по спирали: вправо - вниз -...

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


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

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

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