Найти сумму и произведение элементов K-го столбца данной матрицы - Pascal (81011)
Формулировка задачи:
Очень срочно! Помогите пожалуйста!!!
Есть задание:
Дана матрица размера M × N в файле данных и целое число K (1 ≤ K ≤ N), введенное с клавиатуры. Найти сумму и произведение элементов K-го столбца данной матрицы и разместить в файле результата.
И есть программа. Что и где нужно изменить чтобы Матрица считывалась из файла А, а потом ответ записывался в файл Б?
program Matrix18;
var
Sum,Pro,j,i,M,N,K:integer;
a: array [1..10,1..10] of integer;
begin
writeln('Введите числа M (M<=10) и N (N<=10)');
read(N); readln(M);
writeln('Введите число K');
read(K);
Sum:=0;
Pro:=1;
writeln('Введите по ',N,' элементов ');
for i:=1 to M do begin
write(i,' строки : ');
for j:=1 to N do read(a[i,j]);
end;
for j:=1 to M do
begin
Sum:=sum+a[j,k];
Pro:=pro*a[j,k];
end;
writeln;
writeln('Ответ');
writeln('Сумма = ',Sum);
writeln('Произведение = ',Pro);
end.Решение задачи: «Найти сумму и произведение элементов K-го столбца данной матрицы»
textual
Листинг программы
program Matrix18;
var f:text;
a: array [1..10,1..10] of integer;
Sum,Pro,j,i,M,N,K:integer;
begin
assign(f,'input.txt');//готовый файл с матрицей в папке с программой
reset(f);
read(f,N,M);//первые 2 числа(в первой строке) в файле-размеры матрицы
for i:=1 to M do
for j:=1 to N do
read(f,a[i,j]);
close(f);
repeat
writeln('Введите число K от 1 до ',N,' K=');
readln(K);
until K in [1..N];
Sum:=0;
Pro:=1;
for j:=1 to M do
begin
Sum:=sum+a[j,k];
Pro:=pro*a[j,k];
end;
assign(f,'output.txt');
rewrite(f);
writeln(f,'Сумма = ',Sum);
writeln(f,'Произведение = ',Pro);
close(f);
writeln('Матрица прочитана, результат записан в файл output.txt')
end.
Объяснение кода листинга программы
В данном коде происходит чтение из файла input.txt, который содержит матрицу размером от 1 до 10 строк и от 1 до 10 столбцов. Каждая строка содержит 2 числа, которые определяют размер матрицы.
Далее, происходит итерация по каждому элементу матрицы. Для каждого элемента в каждой строке вычисляется сумма и произведение.
После этого, результаты вычислений записываются в файл output.txt.
Кроме того, перед началом работы с матрицей, программа объявляет переменные для суммы, произведения, номера строки и столбца.
Также, перед закрытием файла output.txt программа выводит сообщение о том, что матрица прочитана и результаты записаны в файл.