Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная 7

.docx
Скачиваний:
2
Добавлен:
11.08.2022
Размер:
39.73 Кб
Скачать
  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;

  1. Дана матрица В(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;

Соседние файлы в предмете Информатика