С++
Завдання 1. Написати програму, яка видаляє з двовимірного масиву, заповненого випадковими числами, рядки,
що містять нульові елементи.
Завдання 2. Написати програму, яка поелементно підсумовує два динамічні двовимірні масиви, заповнені випадковими числами, і зберігає результат у третьому масиві.
Розміри вихідних масивів задаються користувачем.
Ответы
вдання 1:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
const int rows = 5;
const int cols = 4;
int arr[rows][cols];
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i][j] = rand() % 10; // заповнення масиву випадковими числами
cout << arr[i][j] << " ";
}
cout << endl;
}
cout << "===================" << endl;
int new_rows = rows;
for (int i = 0; i < rows; i++)
{
bool is_zero = true;
for (int j = 0; j < cols; j++)
{
if (arr[i][j] != 0)
{
is_zero = false;
break;
}
}
if (is_zero)
{
new_rows--;
}
}
int new_arr[new_rows][cols];
int new_i = 0;
for (int i = 0; i < rows; i++)
{
bool is_zero = true;
for (int j = 0; j < cols; j++)
{
if (arr[i][j] != 0)
{
is_zero = false;
break;
}
}
if (!is_zero)
{
for (int j = 0; j < cols; j++)
{
new_arr[new_i][j] = arr[i][j];
}
new_i++;
}
}
for (int i = 0; i < new_rows; i++)
{
for (int j = 0; j < cols; j++)
{
cout << new_arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
Завдання 2:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int rows, cols;
cout << "Enter number of rows: ";
cin >> rows;
cout << "Enter number of columns: ";
cin >> cols;
int **arr1 = new int *[rows];
for (int i = 0; i < rows; i++)
{
arr1[i] = new int[cols];
for (int j = 0; j < cols; j++)
{
arr1[i][j] = rand() % 10; // заповнення першого масиву випадковими числами
cout << arr1[i][j] << " ";
}
cout << endl;
}
cout << "===================" << endl;
int **arr2 = new int *[rows];
for (int i = 0; i < rows; i++)
{
arr2[i] = new int[cols];
for (int j = 0; j < cols; j++)
{
arr2[i][j] = rand() % 10; // заповнення другого масиву випадковими числами
cout << arr2[i][j] << " ";
}
cout << endl;
}
cout << "===================" << endl;
int **arr3 = new int *[rows];
for