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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2017, 19:28   #1
NekoDead
Пользователь
 
Регистрация: 08.03.2017
Сообщений: 10
По умолчанию Не могу разобраться в програме

Имеется следующее условие задачи:
1)Вычислить максимальную сумму модулей элементов каждой строки матрицы.
2)Найти сумму цифр элементов матрицы, являющихся четными числами.
3)Поменять местами первую и последнюю строки матрицы.

Все три решения должны быть расположены на одной форме.
Не могу разобраться, по какому принципу работает данная программа, как я понял, при вводе значений в поля, вторая кнопка меняет местами первую и последнюю строки матрицы как сказано в условии 3, а что она делает с первым и вторым условием задачи я так и не разобрался, не могу понять по какому принципу она работает, помогите.
Лаб.работа.rar
NekoDead вне форума Ответить с цитированием
Старый 15.09.2017, 09:24   #2
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

вот так можно если на скорую руку
Код:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  s: string;
  s1: string;
begin
  s := Memo1.Lines[0];
  s1 := Memo1.Lines[memo1.Lines.Count-1];
  Memo1.Lines.Delete(memo1.Lines.Count-1);
  Memo1.Lines.Add(s);
  Memo1.Lines[0]:=s1;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
  I, p, p1, c, sum, r: Integer;
  s, ss: string;
  f: Integer;
  ar: array of array of Integer;
  arsum: array of Integer;
  j: Integer;
begin
  Label5.Caption := inttostr(Memo1.Lines.Count);
  s := Memo1.Lines[0];
  c := 0;
  for I := 0 to s.Length - 1 do
  begin
    p := pos(',', s);
    if p <> 0 then
    begin
      inc(c);
      Delete(s, p, 1);
    end;
  end;
  inc(c);
  Label6.Caption := inttostr(c);
  SetLength(ar, Memo1.Lines.Count, c);
  SetLength(arsum, Memo1.Lines.Count);
  for I := 0 to Memo1.Lines.Count - 1 do
  begin
    ss := Memo1.Lines[I];
    for j := 0 to c - 1 do
    begin
      s := ss;
      p := pos(',', s);
      if p <> 0 then
      begin
        Delete(s, p, s.Length);
        Delete(ss, 1, p);
      end;
      ar[I, j] := strtoint(s);
    end;
  end;
  for I := 0 to Memo1.Lines.Count - 1 do
  begin
    for j := 0 to c - 1 do
    begin
      arsum[I] := arsum[I] + abs(ar[I, j]);
    end;
  end;
  sum := 0;
  for I := 0 to Memo1.Lines.Count - 1 do
  begin
    if sum < arsum[I] then
      sum := arsum[I];
  end;
  Label7.Caption := inttostr(sum);
  sum := 0;
  for I := 0 to Memo1.Lines.Count - 1 do
  begin
    for j := 0 to c - 1 do
    begin
      if ar[I, j] mod 2 = 0 then
        sum := sum + ar[I, j];
    end;
  end;
  Label8.Caption := inttostr(sum);
end;

end.
и да, не забываем про условия записи матрицы, никаких пустых строк, никаких пробелов, одинаковое количество элементов в каждой строке, никаких дробных частей (там integer, а для дробных нужно real везде ставить)
Изображения
Тип файла: jpg 3.JPG (34.7 Кб, 91 просмотров)

Последний раз редактировалось PTyTb32; 15.09.2017 в 09:26.
PTyTb32 вне форума Ответить с цитированием
Старый 17.09.2017, 19:11   #3
NekoDead
Пользователь
 
Регистрация: 08.03.2017
Сообщений: 10
По умолчанию

Разместил все компоненты на форме, но не работает расчет, только меняется первая и последние строки, а других вычислений совсем нет, не получилось сделать.
NekoDead вне форума Ответить с цитированием
Старый 18.09.2017, 07:51   #4
PTyTb32
Форумчанин
 
Регистрация: 06.10.2013
Сообщений: 216
По умолчанию

Цитата:
Сообщение от NekoDead Посмотреть сообщение
Разместил все компоненты на форме, но не работает расчет, только меняется первая и последние строки, а других вычислений совсем нет, не получилось сделать.
события к кнопкам привязал?
PTyTb32 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться Sterben Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 13.04.2016 21:33
вычислить все числа до n которые равны сумме своих делителей (совершенные числа)//не могу найти ошибку в своей програме на паскале games_vandal Паскаль, Turbo Pascal, PascalABC.NET 0 22.12.2012 14:24
не могу разобраться! Apsalon Microsoft Office Excel 1 28.12.2010 18:54
Не могу найти ошибку в програме может кто поможет... rik_nel Общие вопросы C/C++ 1 09.08.2010 18:15
Не могу разобраться Zmaxer Помощь студентам 24 10.10.2009 18:52