38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1

Функции для обработки двумерного массива

14.03.2020, 18:01. Показов 1712. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
void FillArray (int arr[][100]);
{
    const int sizeROW = 100, sizeCOL = 100;
    int arr[sizeROW][sizeCOL];
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            cout << arr[i][j] << '\t';
        }
    }
}
 
int main()
{
}
Подскажите что я не так делаю и как это исправить ?
Миниатюры
Функции для обработки двумерного массива  
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2020, 18:01
Ответы с готовыми решениями:

Написать программу для обработки двумерного массива.
Сформировать и вывести на экран заданный двумерный массив (для заполнения массива использовать формулу). 10 20 30 40 20 30 40 50 30...

Функции двумерного массива. Транспонировать матрицу через ввод вывод функции двумерного массива.
Транспонировать матрицу через ввод вывод функции двумерного массива.Сначала вывести ее,а потом провести транспонирование.

Функции-шаблоны для обработки массива
Разработать шаблон ввода и вывода массива, а так же шаблон для решение задачи : Все элементы заданного числа увеличить в два раза. ...

5
22 / 13 / 9
Регистрация: 16.10.2019
Сообщений: 64
14.03.2020, 18:09
Точку с запятой на 5-ой строке уберите
1
Модератор
Эксперт С++
 Аватар для zss
13759 / 10955 / 6487
Регистрация: 18.12.2011
Сообщений: 29,214
14.03.2020, 19:28
Лучший ответ Сообщение было отмечено atorvik как решение

Решение

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
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
const int sizeROW = 100, sizeCOL = 100;
void PrintArray(int arr[][sizeCOL],int row,int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            cout << arr[i][j] << '\t';
        }
        cout << endl;
    }
}
void FillArray(int arr[][sizeCOL], int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            arr[i][j] = rand()%100;
        }
    }
}
int main()
{
    int a[sizeROW][sizeCOL];
    int n = 10, m = 5;
    FillArray(a,n,m);
    PrintArray(a, n, m);
}
А лучше воспользуйтесь стандартным образцом, который Вы должны были уже посмотреть, когда знакомились с разделом "ВАЖНЫЕ ТЕМЫ"
Образцы (шаблоны) программ для типовых задач
1
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
22.03.2020, 16:14  [ТС]
Собственно вот что пока получилось.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
const int sizeROW = 100, sizeCOL = 100;
void PrintArray(int arr[][sizeCOL], int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            cout << arr[i][j] << '\t';
        }
        cout << endl;
    }
}
void FillArray(int arr[][sizeCOL], int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            arr[i][j] = rand() % 100;
        }
    }
}
int main()
{
    SetConsoleOutputCP(1251);
    srand(time(0));
    int a[sizeROW][sizeCOL];
    int n = 2, m = 6;
    cout << "Исходный массив: " << endl;
    FillArray(a, n, m);
    PrintArray(a, n, m);
    cout << "Введите количество сдвигов: ";
    int number_of_shifts;
    cin >> number_of_shifts;
    cout << endl;
 
    cout << "Ввыберите положение (1-влево, 2-вправо, 3-вверх, 4-вниз): ";
    int position;
    cin >> position;
    switch (position) {
    case 1:
    {
 
        PrintArray(a, n, m);
    }
    break;
    case 2:
    {
 
        PrintArray(a, n, m);
    }
    break;
    case 3:
    {
 
        PrintArray(a, n, m);
    }
    break;
    case 4:
    {
 
        PrintArray(a, n, m);
    }
    break;
    default: cout << "Позиций всего 4!";
    }
}
Осталось дописать циклические сдвиги во всевозможные стороны(для этого двумерного массива). Подскажите где их взять. Написать самому мозгов не хватает.
Спасибо.
0
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
25.03.2020, 18:36  [ТС]
Итоговый вариант. Сдвиги во все стороны. Меню.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
const int sizeROW = 100, sizeCOL = 100;
void PrintArray(int arr[][sizeCOL], int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            cout << arr[i][j] << '\t';
        }
        cout << endl;
    }
}
void FillArray(int arr[][sizeCOL], int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            arr[i][j] = rand() % 100;
        }
    }
}
void RightShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int p = 1; p <= number_of_shifts; p++)
    {
        for (int i = 0; i < row; i++)
        {
            temp = arr[i][col - 1];
            for (int j = col - 1; j > 0; j--)
                arr[i][j] = arr[i][j - 1];
            arr[i][0] = temp;
        }
    }
}
void LeftShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int i = 1; i <= number_of_shifts; i++)
    {
        for (int i = 0; i < row; i++)
        {
            temp = arr[i][col - col];
            for (int k = col - col; k < col; k++)
                arr[i][k] = arr[i][k + 1];
            arr[i][col - 1] = temp;
        }
    }
}
void DownShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int p = 1; p <= number_of_shifts; p++)
    {
        for (int j = 0; j < col; j++)
        {
            temp = arr[row - 1][j];
            for (int i = row - 1; i > 0; i--)
                arr[i][j] = arr[i - 1][j];
            arr[0][j] = temp;
        }
    }
}
void UpShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int p = 1; p <= number_of_shifts; p++)
    {
        for (int j = 0; j < col; j++)
        {
            temp = arr[row - row][j];
            for (int i = 0; i < row; i++)
                arr[i][j] = arr[i + 1][j];
            arr[row - 1][j] = temp;
        }
    }
}
int main()
{
    SetConsoleOutputCP(1251);
    srand(time(0));
    int a[sizeROW][sizeCOL];
    int n = 4, m = 6;
    cout << "Исходный массив: " << endl;
    FillArray(a, n, m);
    PrintArray(a, n, m);
    cout << "Введите количество элементов на сдвиг: ";
    int number_of_shifts;
    cin >> number_of_shifts;
    cout << endl;
    cout << "Ввыберите положение (1-влево, 2-вправо, 3-вверх, 4-вниз): ";
    int position;
    cin >> position;
    switch (position)
    {
    case 1:
    {
        LeftShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    case 2:
    {
        RightShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    case 3:
    {
        UpShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    case 4:
    {
        DownShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    default: cout << "Позиций всего 4!";
    }
}
0
38 / 27 / 13
Регистрация: 18.12.2019
Сообщений: 423
Записей в блоге: 1
25.03.2020, 18:36  [ТС]
Итоговый вариант. Сдвиги во все стороны. Меню.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream>
#include <windows.h>
#include <ctime>
using namespace std;
const int sizeROW = 100, sizeCOL = 100;
void PrintArray(int arr[][sizeCOL], int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            cout << arr[i][j] << '\t';
        }
        cout << endl;
    }
}
void FillArray(int arr[][sizeCOL], int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            arr[i][j] = rand() % 100;
        }
    }
}
void RightShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int p = 1; p <= number_of_shifts; p++)
    {
        for (int i = 0; i < row; i++)
        {
            temp = arr[i][col - 1];
            for (int j = col - 1; j > 0; j--)
                arr[i][j] = arr[i][j - 1];
            arr[i][0] = temp;
        }
    }
}
void LeftShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int i = 1; i <= number_of_shifts; i++)
    {
        for (int i = 0; i < row; i++)
        {
            temp = arr[i][col - col];
            for (int k = col - col; k < col; k++)
                arr[i][k] = arr[i][k + 1];
            arr[i][col - 1] = temp;
        }
    }
}
void DownShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int p = 1; p <= number_of_shifts; p++)
    {
        for (int j = 0; j < col; j++)
        {
            temp = arr[row - 1][j];
            for (int i = row - 1; i > 0; i--)
                arr[i][j] = arr[i - 1][j];
            arr[0][j] = temp;
        }
    }
}
void UpShift(int number_of_shifts, int arr[][sizeCOL], int row, int col)
{
    double temp;
    for (int p = 1; p <= number_of_shifts; p++)
    {
        for (int j = 0; j < col; j++)
        {
            temp = arr[row - row][j];
            for (int i = 0; i < row; i++)
                arr[i][j] = arr[i + 1][j];
            arr[row - 1][j] = temp;
        }
    }
}
int main()
{
    SetConsoleOutputCP(1251);
    srand(time(0));
    int a[sizeROW][sizeCOL];
    int n = 4, m = 6;
    cout << "Исходный массив: " << endl;
    FillArray(a, n, m);
    PrintArray(a, n, m);
    cout << "Введите количество элементов на сдвиг: ";
    int number_of_shifts;
    cin >> number_of_shifts;
    cout << endl;
    cout << "Ввыберите положение (1-влево, 2-вправо, 3-вверх, 4-вниз): ";
    int position;
    cin >> position;
    switch (position)
    {
    case 1:
    {
        LeftShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    case 2:
    {
        RightShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    case 3:
    {
        UpShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    case 4:
    {
        DownShift(number_of_shifts, a, n, m);
        PrintArray(a, n, m);
    }
    break;
    default: cout << "Позиций всего 4!";
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2020, 18:36
Помогаю со студенческими работами здесь

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может - не оставьте меня в беде))) Вот задания: 3. Создать...

Разработать алгоритм обработки двумерного массива
Разработать алгоритм обработки двумерного массива размера n*m. Числа m и n, а также элементы массива взять из файла. Необходимо каждый...

Выделение памяти для динамического двумерного массива внутри функции
Имеется вот такой код : #include &lt;iostream&gt; void allocateMemory(int ***array, int size); void freeMemory(int **array, int size); ...

Фрагмент кода обработки двумерного массива переделать под одномерный массив
Здравствуйте форумчане хочу разобраться как написать такую же прог-му только для одномерной матрицы (одномерный массив). const int...

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


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

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

Новые блоги и статьи
Оптимизация производительности Express.js бэкенда
Reangularity 23.05.2025
Express. js заслуженно остаётся одним из самых популярных инструментов для создания бэкенда, но даже он не застрахован от проблем с производительностью. Многие разработчики сталкиваются с ситуацией,. . .
Продвинутая обработка данных с LINQ в C#
stackOverflow 23.05.2025
LINQ (Language Integrated Query) — это фундаментальное изменение парадигмы работы с данными в C#. Простые запросы Where и Select знакомы любому разработчику, но настоящая мощь LINQ раскрывается в. . .
Инфраструктура PKI и сертификатов безопасности
Mr. Docker 23.05.2025
PKI (Public Key Infrastructure) — это невидимый фундамент цифрового доверия, без которого современный интернет просто рассыпался бы как карточный домик. За этой аббревиатурой скрывается целый. . .
Аутентификация OAuth в Python
py-thonny 22.05.2025
OAuth (Open Authorization) — это целый стандарт для делегированного доступа. Звучит занудно? Давайте проще: OAuth позволяет приложениям получать доступ к информации пользователя на сторонних сервисах. . .
Хеширование и соль паролей в веб-приложениях C#
stackOverflow 22.05.2025
Когда-то в начале своей карьеры я тоже грешил простейшими подходами к хранению паролей – MD5-хеширование казалось верхом защиты. Но технологии не стоят на месте, вычислительные мощьности растут, и. . .
Генераторы Python для эффективной обработки данных
AI_Generated 21.05.2025
В Python существует инструмент настолько мощный и в то же время недооценённый, что я часто сравниваю его с тайным оружием в арсенале программиста. Речь идёт о генераторах — одной из самых элегантных. . .
Чем заменить Swagger в .NET WebAPI
stackOverflow 21.05.2025
Если вы создавали Web API на . NET в последние несколько лет, то наверняка сталкивались с зелёным интерфейсом Swagger UI. Этот инструмент стал практически стандартом для документирования и. . .
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru