Домашние задания: Информатика

Помогите пожалуйста с лабораторной

1.
1. Дана матрица F(5,6) действительных чисел. Преобразовать ее путем деления всех элементов на максимальный элемент матрицы.
4. Найти количество столбцов матрицы Y(8,6), в которых есть хотя бы один нулевой элемент.
9. Дана матрица Р (7,7) действительных чисел. Упорядочить по убыванию столбец, в котором находится минимальный элемент главной диагонали.
2.
8. Заданы две действительные матрицы А (5, 10), В (10, 4). Найти наименьшие элементы и номера строк и столбцов, в которых они расположены. Для вычислений использовать процедуру.
9. Даны матрицы U(7,10), Y(10, 8) вещественных чисел. Найти сумму тех элементов матрицы, сумма индексов которых равна 6. Для вычисления суммы использовать функцию.
10. Дана матрица Н (4, 6), А (6, 5)действительных чисел. Найти произведение элементов второй строки и сумму элементов главной диагонали. Для вычислений использовать процедуру.
// Операции с матрицами 1
program Kostia1;
uses crt;

var
ch: char;
F: array[,] of real := new real[5,6];
Y: array[,] of real := new real[8,6];
P: array[,] of real := new real[7,7];
max: real;

// Вывод матрицы на экран
procedure Show(Matrix: array[,] of real; title: string);
begin
writeln(#10, title);
for var i := 0 to length(Matrix, 0)-1 do begin
for var j := 0 to length(Matrix, 1)-1 do
write(Matrix[i,j]:8:2);
write(#10);
end;
end;

// Заполнение матрицы случайными элементами
procedure Fill(Matrix: array[,] of real);
begin
for var i := 0 to length(Matrix, 0)-1 do
for var j := 0 to length(Matrix, 1)-1 do
Matrix[i,j] := random(-50, 50);
end;

begin
randomize;
while true do begin
clrscr();
writeln('Выберите действие:', #10);
writeln('1 > Деление всех элементов на максимальный');
writeln('2 > Нахождение столбцов с нулевым элементом');
writeln('3 > Упорядочить столбец с минимальным элементом главной диагонали');
writeln('0 > Выход');
ch := readkey;
case ch of
'0': exit;
'1':
begin
clrscr();
Fill(F);
Show(F, 'Матрица F:');
for var i := 0 to length(F, 0)-1 do
for var j := 0 to length(F, 1)-1 do
if F[i,j] > max then
max := F[i,j];
writeln('Максимальный элемент матрицы F: ', max);
for var i := 0 to length(F, 0)-1 do
for var j := 0 to length(F, 1)-1 do
F[i,j] /= max;
Show(F, 'Матрица F после преобразования:');
readkey;
end; // '1'
'2':
begin
clrscr();
var nulls: array of integer := new integer[0];
var has: boolean := false;
Fill(Y);
Show(Y, 'Матрица Y:');
for var i := 0 to length(Y, 0)-1 do
for var j := 0 to length(Y, 1)-1 do begin
if Y[i,j] = 0 then begin
for var k := 0 to high(nulls) do
if nulls[k] = j then
has := true;
if has = false then begin
setLength(nulls, length(nulls)+1);
nulls[high(nulls)] := j;
end; // if has
has := false;
end; // if Y[]
end; // for j
writeln('Столбцы с нулевыми значениями:');
for var k := 0 to high(nulls) do
write(nulls[k]+1, #32);
if length(nulls) = 0 then
write('Таких нет.');
readkey;
end; // '2'
'3':
begin
clrscr();
var min := minReal;
var nc := -1;
var col: array of real := new real[0];
Fill(P);
Show(P, 'Матрица P:');
for var i := 0 to length(P, 0)-1 do begin
if P[i,i] < min then begin
min := P[i,i];
nc := i;
end; // if P[]
end; //for i
writeln('Минимальный элемент диагонали ', min, ' в столбце ', nc+1);
for var j := 0 to length(P, 0)-1 do begin
setLength(col, length(col)+1);
col[j] := P[j, nc];
end; // for j
sort(col);
reverse(col);
writeln(#10, 'Отсортированный по убыванию столбец ', nc+1);
for var k :=0 to high(col) do
write(col[k], #32);
readkey;
end; // '3'
end; // case
end; // while
end.
Жанар Бимаганбетова
Жанар Бимаганбетова
18 091
Лучший ответ
Жанар Бимаганбетова если F(5,6) - это 5 строк и 6 столбцов, то я правильно понял..
просто дам совет: если хотите получить хоть небольшой шанс на помощь, то спрашивайте по одному заданию за раз, а то что вы вывалили такую кучу, здесь никому не надо...