С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 09.01.2018
Сообщений: 4
1

Создание двумерного массива змейкой вертикально

03.03.2018, 20:46. Показов 2474. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите, пожалуйста, написать код для двумерного массива змейкой вертикально.
Пример:

2 3 8 9
1 4 7 10
0 5 6 11


P.S. это должна быть часть уже достаточно длинного кода по хитрому заполнению двумерно массива. В главном коде массив динамический
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2018, 20:46
Ответы с готовыми решениями:

Заполнение двумерного массива змейкой
Добрый вечер, помогите пожалуйста, я написал код заполнения матрицы змейкой начиная от левого...

Заполнение двумерного массива диагоналями (не змейкой!)
Здравствуйте, помогите с задачей, пожалуйста Даны числа n и m. Создайте массив A и заполните...

заполнение двумерного массива змейкой
Здравствуйте. Помогите решить задачу: Дано число N и одномерный массив, состоящий из N в квадрате...

Заполнение двумерного массива змейкой
Дан двумерный массив размером 10х10, заполнить змейкой слева-направо, снизу-вверх, таким образом: ...

1
4 / 4 / 2
Регистрация: 27.02.2018
Сообщений: 15
03.03.2018, 22:55 2
Лучший ответ Сообщение было отмечено Sopeir как решение

Решение

"Часть достаточно длинного кода" - приложили бы его, чтобы видеть что да как.
А так можно реализовать подобным образом:
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
#include <iostream>
using namespace std;
 
int main() {
    int matrix_size;
    cout << "Enter size of matrix : ";
    cin >> matrix_size;
 
    int **matrix = new int *[matrix_size];
    for (int i = 0; i < matrix_size; i++) {
        matrix[i] = new int[matrix_size];
    }
    for (int i = 0; i < matrix_size; i++) {
        for (int j = 0; j < matrix_size; j++) {
            matrix[i][j] = 0;
        }
    }
 
    int element_value = matrix_size*matrix_size;
    for (int columns = 0; columns < matrix_size; columns++) {
        for (int rows = (matrix_size-1); rows >= 0; rows--) {
            if (columns % 2 == 0) {
                matrix[rows][columns] = matrix_size * matrix_size - element_value;
            } 
            else { // в этом else один большой костыль, который делает код работоспособным, но все же костыль
                if (matrix_size >= 10) {
                    matrix[rows][matrix_size - columns] = element_value+matrix_size - 1;
                }
                else {
                    matrix[rows][matrix_size - columns - 1] = element_value - 1;
 
                }
            }
            element_value--;
        }
    }
 
    for (int i = 0; i < matrix_size; i++) {
        for (int j = 0; j < matrix_size; j++) {
            cout << matrix[i][j] << '\t';
        }
        cout << endl;
    }
    
    delete[] matrix;
    cin.get();
    cin.get();
}
Правда там для четных столбцов костыль пришлось написать, ибо не очень соображаю, как это сделать иначе, но мб допрёшь сам %)
1
03.03.2018, 22:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2018, 22:55
Помогаю со студенческими работами здесь

Заполнение двумерного массива змейкой по горизонтали
Помогите, умоляю, горит, убивать будут... нужно просто заполнить массив данным образом: 1 2 3...

Заполнение двумерного числового массива змейкой
Добрый вечер, как выполнить задание такого типа: Необходимо написать программу в которой создаётся...

Вывести элементы двумерного массива на экран змейкой
дан двумерный массив. вывести на экран его элементы, сначала элементы первой строки справа налево,...

Создать цикл for который ходил бы с конца к началу двумерного массива ЗМЕЙКОЙ
Здравствуйте, помогите пожалуйста! Не смог справиться с задачей, нужно было создать один цикл...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru