Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2019, 20:32   #1
Руслан2806
Новичок
Джуниор
 
Регистрация: 03.06.2019
Сообщений: 2
Сообщение Задача с матрицей

В задании нужно было найти минимальное значение элемента в матрице.Элемент нашел.А теперь нужно найти значение суммы элементов в этой строке,где он располагается.А я не знаю как это сделать.Подскажите как лучше дописать код в Delphi пожалуйста.

Код:
Код программы:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


 procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.Add('Студент');
memo1.Lines.Add('Информатика');

end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer; s:string;
begin

s:=''; //устанавливаем строку пустой

{формируем строку накапливая в ней  цифры и пробелы между ними}
for i:=1 to 5 do s:=s+'  '+IntToStr(i);

Memo1.Lines.Add(s); // выводим строку в Memo1
end;

procedure TForm1.Button3Click(Sender: TObject);
var
 I, j:word;//Определяем переменные целого типа индексирующие строку и столбец
 massiv:array[1..3,1..4] of word; {Определяем двумерный массив(матрицу) целых чисел }
 s:string; //Определяем строку для заполнения её цифрами и последующего вывода
 MaxCh,MinCh:integer;
 begin
 Memo1.Clear;//Очищаем Memo1
 MaxCh:=Low(MaxCh);
 MinCh:=High(MinCh);
 randomize;// Инициализируем генератор случайных чисел
 for i:=1 to 3 do //Делаем двойной цикл чтобы заполнить массив massiv[I,j]
  for j:=1 to 4 do
    begin
      massiv[I,j]:=random(101);// случайными числами от 0 до 100 функцией random
      if massiv[i,j]<MinCh then MinCh:=massiv[i,j];
    end;
 for i:=1 to 3 do begin // Цикл по строкам с индексом i
 s:=''; // очищаем переменную s содержащую строку
 for j:=1 to 4 do // Цикл по столбцам с индексом j
 s:=s+' '+IntToStr(massiv[I,j]);//Формируем строку s из столбцов j
 Memo1.Lines.Add(s);//Выводим строку в Memo1
 end;
 Memo1.Lines.Add('Минимальное='+IntToStr(MinCh));
end;

end.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 03.06.2019 в 21:31.
Руслан2806 вне форума Ответить с цитированием
Старый 03.06.2019, 21:45   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

просто нужно запоминать не сами значения, а их индексы.

это сделать легко.
так:
Код:
var 
  minI, minJ : word; // хотя я бы поставил Integer - это проще и универсальнее

begin
 randomize;// Инициализируем генератор случайных чисел

 for i:=1 to 3 do //Делаем двойной цикл чтобы заполнить массив massiv[I,j]
  for j:=1 to 4 do
      massiv[I,j]:=random(101);// случайными числами от 0 до 100 функцией random


 minI := 1;
 minJ := 1; { считаем для начала минимальным элемент матрицы massiv[1,1] } 
 for i:=1 to 3 do //Делаем двойной цикл чтобы заполнить массив massiv[I,j]
  for j:=1 to 4 do
      if massiv[i,j]<massiv[minI,minJ] then begin minI:=i; minJ := j; end;
всё. теперь у нас есть координаты (строка и столбец) минимального элемента
можно делать то, что нужно.
например, найти сумму элементов в строке, где находится минимальный

Код:
 summa := 0;
 for j:=1 to 4 do summa := summa +  massiv[minI,j];
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача с матрицей kypykyky Общие вопросы C/C++ 0 24.12.2011 22:00
задача с матрицей amsterdam Паскаль, Turbo Pascal, PascalABC.NET 5 09.06.2011 09:49
Задача с матрицей bonys91 Помощь студентам 1 02.04.2009 20:02
Задача с матрицей Kawun Помощь студентам 9 26.03.2009 00:29
Задача с матрицей H[o][o]K Помощь студентам 1 15.12.2007 16:51