Написать программу, которая вычеркивает столбец с номером р и переставляет остальные так, чтобы получилась матрица - Pascal
Формулировка задачи:
приветик всём товарищам программистам! милые друзья помогите пожалуста с решением для вас не сложных задач а то у мя уже кругом идёт голова от них не чё не получается и с дуру взяла и всё начитое удолила а в понидельник сдовать а тут ещё надо делать блок схемы и отчёт если будет не трудно помогите ещё с блок схемами
7. Дана матрица А(nxm). Написать программу, которая вычеркивает столбец с номером р и переставляет остальные так, чтобы получилась матрица nx(m-1).
8. Даны две матрицы размером 3x3. Написать программу получения коммутатора АВ-ВА и антикоммутатора АВ+ВА этих матриц. Вычисление произведения матриц оформить в виде процедуры.
9. Записать в файл последовательного доступа N действитель¬ных чисел. Выполнить следующие операции с созданным файлом:
- Написать программу, которая ищет сумму чисел из файла, меньших заданного числа b;
- Написать программу, которая заносит в файл q все компоненты исходного файла, которые делятся на 3;
- Написать программу, которая формирует файл последовательности чисел, в котором каждая к-я компонента определяется по формуле: yk = √xk, где хк - к-я компонента исходного файла.
10. Составить программу вычисления функции у =(x1(k1-k2)+х2(k1+k2)/ (l+k1+k2) ,где
х1 - наибольший элемент заданного массива А
k1 - его порядковый номер в массиве
x2, k2 - соответствующие величины массива В.
Решение задачи: «Написать программу, которая вычеркивает столбец с номером р и переставляет остальные так, чтобы получилась матрица»
textual
Листинг программы
uses crt;
type mas=array[1..100] of integer;
procedure Massiv(var m:mas; var x:integer;c:char);
var i:integer;
begin
write('Размер массива ',c,'=');
readln(x);
writeln('Массив ',c);
for i:=1 to x do
begin
m[i]:=random(20);
write(m[i],' ');
end;
writeln;
end;
Procedure Max(m:mas;x:integer; var mx,imx:integer);
var i:integer;
begin
mx:=m[1];imx:=1;
for i:=1 to x do
if m[i]>mx then
begin
mx:=m[i];
imx:=i;
end;
writeln('Максимум=',mx,' индекс=',imx);
end;
function Y(a,ka,b,kb,c:integer):real;
var res:real;
begin
res:=(a*(ka-kb)+b*(ka+kb)/(c+ka+kb));
Y:=res;
end;
var a,b:mas;
na,nb,x1,k1,x2,k2,l:integer;
begin
clrscr;
randomize;
Massiv(a,na,'A');
Max(a,na,x1,k1);
Massiv(b,nb,'B');
Max(b,nb,x2,k2);
write('l=');
readln(l);
write('Y=',Y(x1,k1,x2,k2,l):0:2);
readln
end.
Объяснение кода листинга программы
Этот код написан на языке Pascal и выполняет следующие действия:
- Создает переменные
aиb, которые являются массивами типаmas. - Вычисляет размер каждого массива с помощью функции
random(20), которая генерирует случайное число в диапазоне от 0 до 20. - Выводит размер каждого массива на экран.
- Заполняет каждый массив случайными числами от 0 до 20.
- Вычисляет максимальное значение в массиве
aс помощью функцииMax(). - Выводит максимальное значение и его индекс на экран.
- Вычисляет значение функции
Y()для заданных аргументов. - Выводит значение функции
Y()на экран. - Считывает размер массива
lс помощью функцииreadln(). - Вычисляет значение функции
Y()для заданных аргументов с учетом размера массиваl. - Выводит значение функции
Y()на экран. Обратите внимание, что в этом коде используются несколько функций и процедур, которые объявлены, но не реализованы. Это может быть связано с тем, что код предоставлен без реализации этих функций и процедур.