Информатика, вопрос задал magomedovms2005 , 6 лет назад

Дана матрица размера M × N и целое число K (1 ≤ K ≤ N). Найти сумму и произведение элементов K-го столбца данной матрицы.

С ОБЪЯСНЕНИЕМ ПОЖАЛУЙСТА!!!


magomedovms2005: Pascal!!!

Ответы на вопрос

Ответил spstud
0

Ответ:

Приведу пример на С++:

#include <iostream> // подключение директивы для вывода

int main(){

double sum = 0;

double composition = 1;
for(int i = 0; i < M;++i){

   sum += array[i][K];

    composition *= array[i][K];

   }

std::cout << "Sum" << ' = ' << sum << '\n';

std::cout << "Composition" << ' = ' << composition << '\n';
}

Объяснение:

Матрица M × N - это матрица с M строками и N столбцами. В языках программирования, в основном, обращение к элементам матрицы происходит через оператор [] (то есть, если есть матрица                   Array =  {1,2,3,4}, что-бы обратиться ко 2 элементу (2, т.к. индексация начинается с 0, надо прописать Array[1]), с двумерным массивом:
главное понять, что двумерный массив - это массив массивов, то есть если есть двумерный массив Array2
1, 2, 3, 4,
5, 6, 7, 8,
9, 1, 2, 3  - то его можно задать вот так {{1, 2, 3, 4},{5, 6, 7, 8},{9, 1, 2, 3}}

то если мы пропишем Array2[0], эта запись означает, что мы обращаемся к 1 массиву(то есть к массиву с индексом 0): {1, 2, 3, 4}, в свою очередь это тоже массив и если нам надо получить 2 элемент этого массива(2) мы можем прописать Array2[0][1].
Учитывая все вышесказанное и то, что можно воспринимать обращение к двумерному массиву как: первые [ ] - означают строку, а вторые [ ] - столбец, нам надо пройтись по K-ому столбцу и подсчитать сумму и произведение, приступим к рассмотрению кода:
1: заведем 2 переменные для суммы и для произведения:

double sum = 0; // double т.к. считаем, что в массиве могут быть                                                   //нецелые числа

double composition = 1; // 1 так как считаем произведение

2: считаем сумму и произведение с помощью любого из циклов while, do while или for, в данном случае удобен for:

for(int i = 0; i < M;++i){

sum += array[i][K]; // фиксируем столбец и движемся по строкам

composition *= array[i][K];

}

в итоге получаем, что sum и composition - это сумму и произведение элементов K-го столбца.


Будут вопросы, задавай!


magomedovms2005: На Pascal можешь написать ?
spstud: var i: integer;
begin
for i := 0 to M do begin

end;
end.
spstud: {array - это наш исходный массив}
var i: integer;
var sum,composition: double;
sum := 0;
composition := 1;
begin
for i := 0 to M do begin
sum := sum + array[i][K]
composition := composition * array[i][K]
end;
end.
spstud: 2 верно вроде
Новые вопросы