C/C++
Помогите решить задачу . C++
Найти произведение элементов в каждом столбце массива размером MxN,элементы которого вводятся с клавиатуры
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int N,M;
do
{
cout << "N: ";
cin >> N;
}while(N < 1);
do
{
cout << "M: ";
cin >> M;
}while(M < 1 || N == M);
int ** A = new int* [N];
for(int x = 0; x < N; x++)
A[x] = new int[M];
int * P = new int[M];
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
{
cout << "A["<<x<<"]["<<y<<"]=";
cin >> A[x][y]; // ручной ввод
}
}
cout << endl;
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
cout << A[x][y] << '\t'; // вывод на экран
cout << endl;
}
cout << endl;
for(int y = 0; y < M; y++)
{
P[y] = 1;
for(int x = 0; x < N; x++)
P[y] *= A[x][y]; // умножение элементов столбца
}
cout << "P: ";
for(int y = 0; y < M; y++)
cout << P[y] << ' '; // вывод на экран произведений столбцов
cout << endl;
if(P != (int*) nullptr)
{
delete [] P;
P = (int*) nullptr;
}
else exit(1);
if(A != (int**) nullptr)
{
for(int x = 0; x < N; x++)
{
if(A[x] != (int*) nullptr)
{
delete [] A[x];
A[x] = (int*) nullptr;
}
else exit(1);
}
delete [] A;
A = (int**) nullptr;
}
else exit(1);
return 0;
}
#include <cstdlib>
using namespace std;
int main()
{
int N,M;
do
{
cout << "N: ";
cin >> N;
}while(N < 1);
do
{
cout << "M: ";
cin >> M;
}while(M < 1 || N == M);
int ** A = new int* [N];
for(int x = 0; x < N; x++)
A[x] = new int[M];
int * P = new int[M];
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
{
cout << "A["<<x<<"]["<<y<<"]=";
cin >> A[x][y]; // ручной ввод
}
}
cout << endl;
for(int x = 0; x < N; x++)
{
for(int y = 0; y < M; y++)
cout << A[x][y] << '\t'; // вывод на экран
cout << endl;
}
cout << endl;
for(int y = 0; y < M; y++)
{
P[y] = 1;
for(int x = 0; x < N; x++)
P[y] *= A[x][y]; // умножение элементов столбца
}
cout << "P: ";
for(int y = 0; y < M; y++)
cout << P[y] << ' '; // вывод на экран произведений столбцов
cout << endl;
if(P != (int*) nullptr)
{
delete [] P;
P = (int*) nullptr;
}
else exit(1);
if(A != (int**) nullptr)
{
for(int x = 0; x < N; x++)
{
if(A[x] != (int*) nullptr)
{
delete [] A[x];
A[x] = (int*) nullptr;
}
else exit(1);
}
delete [] A;
A = (int**) nullptr;
}
else exit(1);
return 0;
}
Похожие вопросы
- Помогите решить задачу, c++, функции
- Помогите решить задачу C++
- Помогите решить задачу c++
- Помогите решить задачу C++
- Помогите решить задачу C++, пожалуйста.
- Помогите решить задачу C++
- Помогите решить задачу C++
- Пожалуйста, помогите решить задачу! C++
- Помогите решить задачу по программированию на C++
- Помогите решить задачу по C++!