Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

1. Дана матрица С(n, n). Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю и на ней.
procedure TForm1.Button1Click(Sender: TObject);
var i, j: integer;
begin
Randomize;
for i := 0 to StringGrid1.RowCount — 1 do
for j := 0 to StringGrid1.ColCount — 1 do
StringGrid1.Cells[j, i] := IntToStr(Random(100) — 30);
end;

procedure TForm1.Button2Click(Sender: TObject);
var i, j, s, k, n: integer;
c: array[0..100, 0..100] of integer;
begin
n := StringGrid1.ColCount — 1;
for i := 0 to n do
for j := 0 to n do
c[i, j] := StrToInt(StringGrid1.Cells[j, i]);
s := 0;
k := 0;
for i := 0 to n do
for j := i to n do
if c[i, j] > 0 then
begin
s := s + c[i, j];
k := k + 1;
end;
Label3.Caption := ‘Сумма элементов над главной диагональю и на ней: ‘ + IntToStr(s);
Label4.Caption := ‘Число таких элементов: ‘ + IntToStr(k);
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
StringGrid1.RowCount := SpinEdit1.Value;
StringGrid1.ColCount := SpinEdit1.Value;
end;

2. Дана матрица В(n, n). Заменить элементы матрицы, кратные одновременно 3 и 5, на 100, остальные элементы заменить на 50.
procedure TForm1.Button1Click(Sender: TObject);
var i, j: integer;
begin
Randomize;
for i := 0 to StringGrid1.RowCount — 1 do
for j := 0 to StringGrid1.ColCount — 1 do
StringGrid1.Cells[j, i] := IntToStr(Random(100) — 30);
end;

procedure TForm1.Button2Click(Sender: TObject);
var i, j, n: integer;
b: array[0..100, 0..100] of integer;
begin
n := StringGrid1.ColCount — 1;
for i := 0 to n do
for j := 0 to n do
b[i, j] := StrToInt(StringGrid1.Cells[j, i]);

for i := 0 to n do
for j := 0 to n do
if (b[i, j] mod 3 = 0) and (b[i, j] mod 5 = 0) then
b[i, j] := 100
else
b[i, j] := 50;

StringGrid2.RowCount := StringGrid1.RowCount;
StringGrid2.ColCount := StringGrid1.ColCount;
for i := 0 to n do
for j := 0 to n do
StringGrid2.Cells[j, i] := IntToStr(b[i, j]);
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
StringGrid1.RowCount := SpinEdit1.Value;
StringGrid1.ColCount := SpinEdit1.Value;
end;

Была ли полезна данная статья?
Да
61.12%
Нет
38.88%
Проголосовало: 1106

или напишите нам прямо сейчас:

⚠️ Пожалуйста, пишите в MAX или заполните форму выше.
В России Telegram и WhatsApp блокируют - сообщения могут не дойти.
Написать в MAXНаписать в TelegramНаписать в WhatsApp