Я только начал изучать указатели (1 день) и не могу понять как передать указатель из функции create_matrix() в main(), а в ней уже вызвать другую функцию (print_matrix) с параметром в качестве указателя (массива) из create_matrix().
Если не трудно, то пожалуйста, сделайте замечания по коду.
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
void print_matrix(int** matrix, int size_l, int size_s)
{
for (int x = 0; x < size_l; x++)
{
for (int y = 0; y < size_s; y++)
{
cout << matrix[x][y] << setw(3);
}
cout << "\n";
}
}
int create_matrix(int size_m, int size_l, int size_s)
{
int** matrix = new int* [size_m];
for (int i = 0; i < size_m; i++)
{
matrix[i] = new int[size_m];
}
cout << "Enter elements of matrix : " << endl;
for (int x = 0; x < size_l; x++)
{
for (int y = 0; y < size_s; y++)
{
cout << "["
<< x
<< ","
<< y
<< "]"
<< " << ";
cin >> matrix[x][y];
}
}
return **matrix;
}
int main()
{
unsigned int array_size;
unsigned int number_of_lines;
unsigned int number_of_strings;
cout << "Enter number of lines : ";
cin >> number_of_lines;
cout << "Enter number of strings : ";
cin >> number_of_strings;
array_size = number_of_lines * number_of_strings;
create_matrix(array_size, number_of_lines, number_of_strings);
//print_matrix(matrix, number_of_lines, number_of_strings);
return 0;
}
Спасибо пользователю @Harry за ответ !
Рабочий вариант выглядит вот так
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
void print_matrix(int** matrix, int size_l, int size_s)
{
cout << "Matrix :" << endl;
for (int x = 0; x < size_l; x++)
{
for (int y = 0; y < size_s; y++)
{
cout << matrix[x][y] << setw(3);
}
cout << "\n";
}
}
int** create_matrix(int size_m, int size_l, int size_s)
{
int** matrix = new int* [size_m];
for (int i = 0; i < size_m; i++)
{
matrix[i] = new int[size_m];
}
cout << "Enter elements of matrix : " << endl;
for (int x = 0; x < size_l; x++)
{
for (int y = 0; y < size_s; y++)
{
cout << "["
<< x
<< ","
<< y
<< "]"
<< " << ";
cin >> matrix[x][y];
}
}
return matrix;
}
int main()
{
unsigned int array_size;
unsigned int number_of_lines;
unsigned int number_of_strings;
cout << "Enter number of lines : ";
cin >> number_of_lines;
cout << "Enter number of strings : ";
cin >> number_of_strings;
array_size = number_of_lines * number_of_strings;
int** matrix = create_matrix(array_size, number_of_lines, number_of_strings);
print_matrix(matrix, number_of_lines, number_of_strings);
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском»