0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 45
1

Двухмерный массив в функции

10.05.2020, 18:42. Показов 958. Ответов 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
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <cstring>
#include <string>
#include <stdio.h>
#include <time.h>
#include <iomanip>
 
using namespace std;
 
int Create (int* mass, int size) {
    
    srand (time (NULL));
    
    for (int i = 0; i <size; i ++) {
        
        for (int j = 0; j <size; j ++) {
            
            mass[i][j] = rand()% 10;
        }
    }
}
 
int Show (int* mass, int size) {
    
    
    for (int i = 0; i <size; i ++) {
        
        for (int j = 0; j <size; j ++) {
            
            cout << mass[i][j] << " ";
        }
    }
}
 
int main ()
{
  int const size = 5;
  int arr[size][size];
  
  getchar();
  
  Create(arr,size);
  Show(arr,size);
  
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2020, 18:42
Ответы с готовыми решениями:

Двухмерный массив как параметр функции
Всем здравствуйте. Для одномерного массива - параметра функции всё компилируется. Вот пример:...

Возможно ли вернуть двухмерный массив строк из DLL функции написаной на C++
Собственно есть DLL(на C++), в ней функция, дальше мне собственно нужно что б эта функция...

Как возвратить созданый динамический двухмерный массив из функции в main?
Надо из функции mtx возвртить матрицу в главную функцию. Матрица создаеться и заполняеться в mtx....

Создать двухмерный массив. Ввод вывод массива вынести в отдельные функции
Создать двумерный массив размером m x n. Заполнить его случайными числами от 0 до 10. Вывести...

4
6565 / 4550 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
10.05.2020, 18:49 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
#include <iostream>
#include <cstring>
#include <string>
#include <stdio.h>
#include <time.h>
#include <iomanip>
 
//using namespace std;
int const size = 5;
 
void Create(int mass[][size]) {
 
    srand(time(NULL));
 
    for (int i = 0; i < size; i++) {
 
        for (int j = 0; j < size; j++) {
 
            mass[i][j] = rand() % 10;
        }
    }
}
 
void Show(int mass[][size]) {
 
    for (int i = 0; i < size; i++) {
 
        for (int j = 0; j < size; j++) {
 
            std::cout << mass[i][j] << " ";
        }
    }
}
 
int main()
{
 
    int arr[size][size];
 
    getchar();
 
    Create(arr);
    Show(arr);
 
}
1
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 45
10.05.2020, 21:13  [ТС] 3
Спасибо огромное)
0
7416 / 5011 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
11.05.2020, 01:05 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void Set (int** a, int n, int m) 
{
    for (int i = 0; i < n; i++) {        
        for (int j = 0; j < m; j++) {            
            a[i][j] = rand()% 10;
        }
    }
}
 
void Sort (int** a, int n, int m)
{   
    for (int k = 0; k < n; k++) 
        for (int p = 0; p < m; p++) 
            for (int i = 0; i < n; i++) 
                for (int j = 0; j < m; j++) 
                    if (a[i][j] > a[k][p]) 
                        swap (a[i][j],a[k][p]);
}
 
void Show (int **a, int n, int m)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)       
        cout << a[i][j] << " ";        
    cout << "\n";
    }
} 
 
int main ()
{
    srand((int)time(0));
    int n, m;
    cout << "n="; cin >> n;
    cout << "m="; cin >> m;
    
      int **a = new int*[n]; 
    for (int i = 0; i < n; i++)
       a[i]=new int[m]; 
  
    Set(a,n,m);
    cout << "Matrix:\n";
    Show(a,n,m);
    Sort(a,n,m);
    cout << "Sorted matrix:\n";
    Show(a,n,m);
    
    for (int i = 0; i < n; i++)
    delete[]a[i];
    delete[]a;
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 45
11.05.2020, 19:36  [ТС] 5
Спасиб : )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2020, 19:36
Помогаю со студенческими работами здесь

Дан двухмерный массив, содержащий 4 строки и 5 столбцов. Упорядочить массив по невозрастанию элементов пятого столбца
Задача должна иметь два варианта решения. 1 - обычная адресация элементов массива, 2 - адресация...

Задан одномерный массив из 16 элементов .Сформировать двухмерный массив 4×4, используя функцию преобразования любого
Здравствуйте. Помогите написать программу: Задан одномерный массив из 16 элементов. Сформировать...

Массив: Сформировать двухмерный массив n * n указанного вида для произвольного нечетного n.
Сформировать двухмерный массив n•n указанного вида для произвольного нечетного n. Для n=5...

Массив: Создать двухмерный массив 7х7 и сделать две диагонали из единиц.
Нужно создать двухмерный массив 7х7. И сделать две диагонали из единиц. Использовать можно только...

двухмерный массив, просто массив и дана строка, состоящая из русских слов
Пожалуйста помогите=))))))и если можно напишите что значит каждая строка кода=) 1.Дан массив...

Массив: Вывести на экран монитора исходный двухмерный массив в виде таблицы чисел.
Условие: 1. Ввести двухмерный массив поэлементно с помощью клавиатуры или получить его, ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru