Описать функцию SumCol(A,M,N,k), вычисляющую сумму элементов вещественной матрицы A размера M x N, расположенн - C (СИ)
Формулировка задачи:
Описать функцию SumCol(A,M,N,k), вычисляющую сумму элементов
вещественной матрицы A размера M x N, расположенных в k-м столбце
(если k ≥ N, то функция возвращает 0). Для данной матрицы A размера M x N
и трех данных k найти SumCol(A,M,N,k)
Решение задачи: «Описать функцию SumCol(A,M,N,k), вычисляющую сумму элементов вещественной матрицы A размера M x N, расположенн»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
double SumCol(double *A,int i,int j,int k)
{
double sumCol=0;
if (k < j)
{
for (int z=0;z<i;z++)
{
sumCol+=*(A+z*j+k);
}
}
return sumCol;
}
int main()
{
const int M=3,N=2;
double arr[M][N] =
{
{ 2.7, -5.9 },
{ 4.8, 0.8 },
{ 9.00, 1.3 }
};
int k1=0,k2=1,k3=9;
printf("%.2f\n",SumCol(&arr[0][0],M,N,k1));
printf("%.2f\n",SumCol(&arr[0][0],M,N,k2));
printf("%.2f\n",SumCol(&arr[0][0],M,N,k3));
getch();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с функциями ввода-вывода и константами
- Объявляем функцию SumCol, которая принимает указатель на первый элемент матрицы, размерность матрицы по строкам и столбцам, а также номер столбца, сумму элементов которого необходимо вычислить
- Внутри функции инициализируем переменную sumCol, которая будет хранить сумму элементов столбца
- Проверяем, что номер столбца k меньше номера столбца j, чтобы избежать выхода за границы матрицы
- Внутренний цикл for перебирает все строки матрицы от 0 до i-1. Значение z используется для вычисления индекса элемента матрицы внутри цикла
- К переменной sumCol прибавляется значение элемента матрицы, на который указывает выражение (A+zj+k)
- После завершения внутреннего цикла, функция возвращает значение переменной sumCol
- В функции main объявляем константы M и N, которые задают размерность матрицы
- Далее объявляем массив arr[][] и инициализируем его значениями
- Значениями переменных k1, k2 и k3 задаются номера столбцов, для которых будет вычисляться сумма элементов
- Вызываем функцию SumCol и передаем ей указатель на первый элемент матрицы, размерность матрицы и номер столбца
- Выводим результат вычисления функции на экран
- Ждем нажатия клавиши для завершения программы