Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream> //библиотека
- #include <ctime> //библиотека
- using namespace std; // использованное пространство имен, первые три строчки по дефолту
- void Set(double **x, int N) //начало процедуры Set, в нее передается квадратный массив x размерности N и заполняется случайными числами от 1 до 9
- {
- for (int i = 0; i < N; i++) //цикл для смещения первого индекса (по строкам)
- for (int j = 0; j < N; j++) //цикл для смещения первого индекса (по столбцам)
- x[i][j] = rand() % 9 + 1; //генерируется случайное число, от него берётся остаток деления на 9 и добавляется 1. Таким образом получается случайное число в диапазоне от 1 до 9. Полученное число присваивается переменной x.
- }
- void Print(double **x, int N) //процедура для вывода массива на экран
- {
- for (int i = 0; i < N; i++) //цикл для смещения первого индекса (по строкам)
- {
- for (int j = 0; j < N; j++) //цикл для смещения первого индекса (по столбцам)
- cout << x[i][j] << " "; //значение элемента i-той строки j-того столбца выводятся на экран
- cout << endl; //перенос на следующую строку
- }
- }
- int main() //начало программы
- {
- srand((int)time(0));
- int n; //размерность массива
- cout << "n=";
- cin >> n; //ввод размерности с клавиатуры
- double **a = new double*[n]; // объявление массива a с размерностью n и каждым элементом которого является одномерный массив, в итоге получается двумерный массив (матрица)
- for (int i = 0; i < n; i++) //цикл
- a[i] = new double[n]; //объявление каждого элемента a (инициализация)
- double **b = new double*[n]; //то же самое для b
- for (int i = 0; i < n; i++) // цикл
- b[i] = new double[n]; //инициализация b
- double **x = new double*[n]; // новая матрица, у которой будет в два раза больше столбцов
- for (int i = 0; i < n; i++) //цикл
- x[i] = new double[2 * n]; // инициализация x
- Set(a, n); //заполнение массива a случайными числами через вызов процедуры Set
- cout << "Matrix a" << endl;
- Print(a, n); //вывод матрицы a на экран через процедуру Print
- Set(b, n); //заполнение массива b случайными числами через вызов процедуры Set
- cout << "Matrix b" << endl;
- Print(b, n); //вывод матрицы b на экран через процедуру Print
- for (int i = 0; i < n; i++) //два цикла для перебора индексов массива x
- for (int j = 0; j < n; j++)
- {
- x[i][j] = a[i][j]; //заполнение массива x элементами матрицы a
- x[i][j + n] = b[i][j]; //заполнение массива x элементами матрицы b
- }
- cout << "Matrix x" << endl;
- Print(x, 2 * n); //вывод матрицы x через процедуру Print
- system("pause"); //ожидание, чтобы программа не закрылась раньше времени после выполнения
- return 0; //конец
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement