Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail


Оплата за обучение в Kata Academy только после твоего трудоустройства в IT, начни карьеру Middle Java-разработчика


Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2021, 00:21   #1
sldtvk
Новичок
Джуниор
 
Регистрация: 20.09.2021
Сообщений: 2
По умолчанию Многомерный массив (матрица). Нужно дописать код

Код нужен на Lazarus.
Условие задачи: "Найти сумму заштрихованной области квадратной матрицы".
У меня матрица 3x3.
Что мне нужно сделать? Отвечаю, мне надо посчитать сумму заштрихованной области квадратной матрицы.
---
Мой код:

Код:
unit Unit1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Grids, StdCtrls;
 
type
 
  { TForm1 }
 
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
  private
 
  public
 
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.lfm}
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender: TObject);
const
  n = 2;
var
  mmas: array [0..n,0..n] of integer;
  i: integer; // столбцы
  j: integer; // строки
  sum: integer; // сумма заштрихованной области
begin
 
  for i:= 0 to n do // столбец
    for j:= 0 to n do // строка
      mmas[i,j]:= random(2);
 
  for i:= 0 to n do // столбец
    for j:= 0 to n do // строка
      StringGrid1.Cells[i,j]:= IntToStr(mmas[i,j]);
 
  {находим сумму заштрихованной области}  {верхняя часть}
  sum:= 0;
    for i:= 1 to n div 2 do
      for j:= i to n - i + 1 do
        sum:= sum + mmas[i,j];
 
  {находим сумму заштрихованной области}  {нижней части}
   for  i:= n div 2  to n do
      for  j:= n - i + 1  to i  do
        sum:= sum + mmas[i,j];
 
 
Edit1.Text:= IntToStr(sum);
 
 
end;
 
end.
Изображения
Тип файла: jpg матрица.JPG (9.6 Кб, 11 просмотров)
sldtvk вне форума Ответить с цитированием
Старый 12.12.2021, 00:55   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,269
По умолчанию

Цитата:
Сообщение от sldtvk Посмотреть сообщение
У меня матрица 3x3.
в таком варианте задания ответом может быть:
Код:
sum:=mmas[0,0]+mmas[0,1]+mmas[0,2] + mmas[1,1]+mmas[2,0]+mmas[2,1]+mmas[2,2];
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уже написан макрос примерно на 90% код 2000 строк. Но исполнитель доделать не может. Нужно проверить и дописать код. Состоит из 5 частей татьянаэдуардовна Фриланс 1 25.04.2019 15:33
Помогите дописать код.Нужно нарисовать ромб используя символ * Мадлен Помощь студентам 12 01.04.2015 13:45
Нужно дописать код легкой прогаммы. учусь в 10 классе. levchuk_ps Паскаль, Turbo Pascal, PascalABC.NET 2 02.03.2012 17:46
Многомерный массив (матрица) Meatdealer Общие вопросы Delphi 2 03.12.2010 01:51
Delphi: задачка на массив - нужно дописать. Sorinka Помощь студентам 3 30.04.2009 20:32

Реклама для незарегистрированных, регистрация на форуме