Написать программу, которая вводит по строкам с клавиатуры
двумерный динамический массив вещественных чисел и вычисляет сумму
его элементов по столбцам. Количество элементов массива задается
пользователем. Для ввода-вывода элементов, нахождения суммы и вывода
значений разработать соответствующие функции. Программа запрашивает
количество элементов массива по строкам и столбцам, отображает введенный
массив и сумму элементов в каждом столбце. Перед вводом каждого элемента
массива должна выводиться подсказка с номером элемента массива.
C/C++
C++ Написать программу.
#include <iostream>
using namespace std;
void vvod(double ** A, const int n, const int m)
{ // ввод по строкам
for(int x = 0; x < n; x++)
for(int y = 0; y < m; y++)
{
cout << "A[" << x << "][" << y << "] = ";
cin >> A[x][y];
}
}
void print(double ** A, const int n, const int m)
{ // вывод на экран
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
{
cout << A[x][y] << '\t';
}
cout << endl;
}
}
void sum(double ** A, const int n, const int m)
{ // суммы в столбцах
double sum;
for(int y = 0; y < m; y++)
{
sum = 0.;
for(int x = 0; x < n; x++)
sum += A[x][y];
cout << "Сумма в столбце " << y + 1 << " равна " << sum << endl;
}
}
int main()
{
int n,m;
do
{
cout << "Введите количество строк: ";
cin >> n;
} while(n <= 0);
do
{
cout << "Введите количество стролбцов: ";
cin >> m;
} while(m <= 0);
double ** A;
A = new double * [n]; // выделение памяти
for(int x = 0; x < n; x++)
A[x] = new double[m];
vvod(A,n,m);
print(A,n,m);
sum(A,n,m);
// Освобождение памяти
if(A != NULL)
{
for(int x = 0; x < n; x++)
delete [] A[x];
delete [] A;
A = NULL;
}
return 0;
}
using namespace std;
void vvod(double ** A, const int n, const int m)
{ // ввод по строкам
for(int x = 0; x < n; x++)
for(int y = 0; y < m; y++)
{
cout << "A[" << x << "][" << y << "] = ";
cin >> A[x][y];
}
}
void print(double ** A, const int n, const int m)
{ // вывод на экран
for(int x = 0; x < n; x++)
{
for(int y = 0; y < m; y++)
{
cout << A[x][y] << '\t';
}
cout << endl;
}
}
void sum(double ** A, const int n, const int m)
{ // суммы в столбцах
double sum;
for(int y = 0; y < m; y++)
{
sum = 0.;
for(int x = 0; x < n; x++)
sum += A[x][y];
cout << "Сумма в столбце " << y + 1 << " равна " << sum << endl;
}
}
int main()
{
int n,m;
do
{
cout << "Введите количество строк: ";
cin >> n;
} while(n <= 0);
do
{
cout << "Введите количество стролбцов: ";
cin >> m;
} while(m <= 0);
double ** A;
A = new double * [n]; // выделение памяти
for(int x = 0; x < n; x++)
A[x] = new double[m];
vvod(A,n,m);
print(A,n,m);
sum(A,n,m);
// Освобождение памяти
if(A != NULL)
{
for(int x = 0; x < n; x++)
delete [] A[x];
delete [] A;
A = NULL;
}
return 0;
}
Похожие вопросы
- C++ Написать программу..
- Палиндром c++ Написать программу. Help!
- Помогите понять суть задания на C++, написать программу с такой задачей:
- Помогите написать программу на C++
- Написать программу на c++
- Написать программу, которая по выбору пользователя меняет цвет консольного приложения C++
- Помоги пожалуйста написать программу на C++
- Написать программу на C++.Создать класс vector3d, задаваемый тройкой координат. Создать конструктор...
- Помогите написать программу на C++
- Напишите программу, которая выводит таблицу факториалов от 1 до 10. c++