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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2016, 02:16   #71
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Menus;
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    Stolbec1: TMenuItem;
    N71: TMenuItem;
    N81: TMenuItem;
    N91: TMenuItem;
    N101: TMenuItem;
    Stroka1: TMenuItem;
    N72: TMenuItem;
    N82: TMenuItem;
    N92: TMenuItem;
    N102: TMenuItem;
    Reresech11: TMenuItem;
    StringGrid1: TStringGrid;
    procedure menu_stolbec_8(Sender: TObject);
    procedure menu_stolbec_9(Sender: TObject);
    procedure menu_stolbec_7(Sender: TObject);
    procedure menu_stolbec_10(Sender: TObject);
    procedure menu_stroka_7(Sender: TObject);
    procedure menu_stroka_8(Sender: TObject);
    procedure menu_stroka_9(Sender: TObject);
    procedure menu_stroka_10(Sender: TObject);
    procedure dblclick(Sender: TObject);
    procedure Reresech11Click(Sender: TObject);

  //  procedure dblclik(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
a: array of array of integer;
min: array of array  of integer;
minim, stroc, stolb, q, x, y, i, j,  m, n:integer;

implementation

{$R *.dfm}
  procedure TForm1.menu_stolbec_7(Sender: TObject);
begin
n:=7;
end;
procedure TForm1.menu_stolbec_8(Sender: TObject);
begin
n:=8;
end;
  procedure TForm1.menu_stolbec_9(Sender: TObject);
begin
    n:=9;
end;
procedure TForm1.menu_stolbec_10(Sender: TObject);
begin
   n:=10;
end;
procedure TForm1.menu_stroka_7(Sender: TObject);
begin
m:=7;
 end;
procedure TForm1.menu_stroka_8(Sender: TObject);
begin
   m:=8;
end;
procedure TForm1.menu_stroka_9(Sender: TObject);
begin
m:=9;
end;
procedure TForm1.menu_stroka_10(Sender: TObject);
begin
m:=10;
end;
 procedure TForm1.dblclick(Sender: TObject);
//i, j, : integer;

 begin
 // Задаем число столбцов и строк таблицы
   StringGrid1.ColCount := m;
   StringGrid1.RowCount := n;
 for i:=0 to n-1 do
    for j:=0 to m-1 do
      a[i][j] :=Random(201)-100; //заполняем массив случайными числами
// Задаем шируну и высоту ячеек
   StringGrid1.DefaultColWidth := 30;
   StringGrid1.DefaultRowHeight:= 30;
    for x := 1 to StringGrid1.ColCount - 1  do
    for y := 1 to StringGrid1.RowCount - 1 do
    StringGrid1.Cells[x, y] := IntToStr(a[i][j]);
    begin
setlength(a,n);
for x:=0 to n-1 do
setlength(a[x],m);
end;
end;

procedure TForm1.Reresech11Click(Sender: TObject);
 var strok, stolb : integer;
begin
  strok :=0;
  stolb :=0;
   minim :=-100;
   for I := 0 to n-1 do
      for j := 0 to m-1 do
        if a[i,j] < minim then     //если элемент больше, чем число в переменной max
        begin
         for q := 0 to 10 do
          minim := a[i,j];         //записываем в min это число
          strok := i + 1;       //записываем строку в которй минимальный
          stolb := j + 1;      //записываем стоглбец с минимальным числом
        end;
       // ShowMessage(ToString(min));    //выводим min
       //ShowMessage(stroka.ToString(strok)+ stolbec.ToString(stolb));    //выводим строку и столбец с min элементом

   end;
 {   var
    min[2][100]
    MINIMUM =A[0][0];
for I := 0 to n-1 do
      for j := 0 to m-1 do
        if r[i,j] < min then
if(MINIMUM>A[i][j]) тогда MINIMUM =A[0][0]; }
   end.
Moraine93 вне форума Ответить с цитированием
Старый 30.10.2016, 02:19   #72
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

меню теперь не работает
Moraine93 вне форума Ответить с цитированием
Старый 30.10.2016, 02:26   #73
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

1) Проверь где ты записал:

Код:
setlength(a,n);
for x:=0 to n-1 do
setlength(a[x],m);
А где надо?

2) массив "min:" возвращай назад в статику. Потому что динамический массив трудней обрабатывать (пусть будет в динамики только "А").
3) Нахер:
minim, stroc, stolb, q, x, y, i, j,
Если будет где то ругаться - делай локальными переменные.
4)
IntToStr(a[i][j]);
меняй на
IntToStr(a[x][y]);
5) Что это
procedure dblclick(Sender: TObject);
// procedure dblclik(Sender: TObject);

6) Запускай программу. Выберешь меню - два клика - таблица.
Потверди.

Последний раз редактировалось ura_111; 30.10.2016 в 02:30.
ura_111 вне форума Ответить с цитированием
Старый 30.10.2016, 02:48   #74
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

вот
Изображения
Тип файла: jpg Безымянный.jpg (96.7 Кб, 118 просмотров)
Тип файла: jpg Безымянный1.jpg (96.3 Кб, 144 просмотров)
Moraine93 вне форума Ответить с цитированием
Старый 30.10.2016, 02:49   #75
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Menus;
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    Stolbec1: TMenuItem;
    N71: TMenuItem;
    N81: TMenuItem;
    N91: TMenuItem;
    N101: TMenuItem;
    Stroka1: TMenuItem;
    N72: TMenuItem;
    N82: TMenuItem;
    N92: TMenuItem;
    N102: TMenuItem;
    Reresech11: TMenuItem;
    StringGrid1: TStringGrid;
    procedure menu_stolbec_8(Sender: TObject);
    procedure menu_stolbec_9(Sender: TObject);
    procedure menu_stolbec_7(Sender: TObject);
    procedure menu_stolbec_10(Sender: TObject);
    procedure menu_stroka_7(Sender: TObject);
    procedure menu_stroka_8(Sender: TObject);
    procedure menu_stroka_9(Sender: TObject);
    procedure menu_stroka_10(Sender: TObject);
    procedure dblclick(Sender: TObject);
    procedure Reresech11Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
a: array of array of integer;
min: array of array  of integer;
x,y, i, j, m, n:integer;

implementation

{$R *.dfm}
  procedure TForm1.menu_stolbec_7(Sender: TObject);
begin
n:=7;
end;
procedure TForm1.menu_stolbec_8(Sender: TObject);
begin
n:=8;
end;
  procedure TForm1.menu_stolbec_9(Sender: TObject);
begin
    n:=9;
end;
procedure TForm1.menu_stolbec_10(Sender: TObject);
begin
   n:=10;
end;
procedure TForm1.menu_stroka_7(Sender: TObject);
begin
m:=7;
end;
procedure TForm1.menu_stroka_8(Sender: TObject);
begin
m:=8;
end;
procedure TForm1.menu_stroka_9(Sender: TObject);
begin
m:=9;
end;
procedure TForm1.menu_stroka_10(Sender: TObject);
begin
m:=10;
end;
 procedure TForm1.dblclick(Sender: TObject);
//x, y, : integer;

 begin
 // Çàäàåì ÷èñëî ñòîëáöîâ è ñòðîê òàáëèöû
   StringGrid1.ColCount := m;
   StringGrid1.RowCount := n;
 for i:=0 to n-1 do
    for j:=0 to m-1 do
      a[i][j] :=Random(201)-100; //çàïîëíÿåì ìàññèâ ñëó÷àéíûìè ÷èñëàìè
// Çàäàåì øèðóíó è âûñîòó ÿ÷ååê
   StringGrid1.DefaultColWidth := 30;
   StringGrid1.DefaultRowHeight:= 30;
    for x := 1 to StringGrid1.ColCount - 1 do
    for y := 1 to StringGrid1.RowCount - 1 do
    StringGrid1.Cells[x, y] := IntToStr(a[x][y]);
    begin
end;
end;

procedure TForm1.Reresech11Click(Sender: TObject);
 var strok, stolb : integer;
minim, s, r,q :integer;
begin
  strok :=0;
  stolb :=0;
   minim :=-100;
   for s := 0 to n-1 do
      for r := 0 to m-1 do
        if a[s,r] < minim then     //åñëè ýëåìåíò áîëüøå, ÷åì ÷èñëî â ïåðåìåííîé max
        begin
         for q := 0 to 10 do
          minim := a[s,r];         //çàïèñûâàåì â min ýòî ÷èñëî
          strok := s + 1;       //çàïèñûâàåì ñòðîêó â êîòîðé ìèíèìàëüíûé
          stolb := r + 1;      //çàïèñûâàåì ñòîãëáåö ñ ìèíèìàëüíûì ÷èñëîì
        end;
       // ShowMessage(ToString(min));    //âûâîäèì min
       //ShowMessage(stroka.ToString(strok)+ stolbec.ToString(stolb));    //âûâîäèì ñòðîêó è ñòîëáåö ñ min ýëåìåíòîì

   end;
 {   var
    min[2][100]
    MINIMUM =A[0][0];
for I := 0 to n-1 do
      for j := 0 to m-1 do
        if r[i,j] < min then
if(MINIMUM>A[i][j]) òîãäà MINIMUM =A[0][0]; }
   end.
Moraine93 вне форума Ответить с цитированием
Старый 30.10.2016, 02:49   #76
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

Где строчки :

setlength(a,n);
for x:=0 to n-1 do
setlength(a[x],m);

А где их надо записать? (смотри 2-е мои фотки, раньше были)
ura_111 вне форума Ответить с цитированием
Старый 30.10.2016, 02:58   #77
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

извиняюсь у меня мозг уже плющит...
все работает осталось только раскрасить правильно.... вроде
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Menus;
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    Stolbec1: TMenuItem;
    N71: TMenuItem;
    N81: TMenuItem;
    N91: TMenuItem;
    N101: TMenuItem;
    Stroka1: TMenuItem;
    N72: TMenuItem;
    N82: TMenuItem;
    N92: TMenuItem;
    N102: TMenuItem;
    Reresech11: TMenuItem;
    StringGrid1: TStringGrid;
    procedure menu_stolbec_8(Sender: TObject);
    procedure menu_stolbec_9(Sender: TObject);
    procedure menu_stolbec_7(Sender: TObject);
    procedure menu_stolbec_10(Sender: TObject);
    procedure menu_stroka_7(Sender: TObject);
    procedure menu_stroka_8(Sender: TObject);
    procedure menu_stroka_9(Sender: TObject);
    procedure menu_stroka_10(Sender: TObject);
    procedure dblclick(Sender: TObject);
    procedure Reresech11Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
a: array of array of integer;
min: array of array  of integer;
x,y, i, j, m, n:integer;

implementation

{$R *.dfm}
  procedure TForm1.menu_stolbec_7(Sender: TObject);
begin
n:=7;
end;
procedure TForm1.menu_stolbec_8(Sender: TObject);
begin
n:=8;
end;
  procedure TForm1.menu_stolbec_9(Sender: TObject);
begin
    n:=9;
end;
procedure TForm1.menu_stolbec_10(Sender: TObject);
begin
   n:=10;
end;
procedure TForm1.menu_stroka_7(Sender: TObject);
begin
m:=7;
end;
procedure TForm1.menu_stroka_8(Sender: TObject);
begin
m:=8;
end;
procedure TForm1.menu_stroka_9(Sender: TObject);
begin
m:=9;
end;
procedure TForm1.menu_stroka_10(Sender: TObject);
begin
m:=10;
end;
 procedure TForm1.dblclick(Sender: TObject);
//x, y, : integer;

 begin
 setlength(a,n);
for x:=0 to n-1 do
setlength(a[x],m);
 // Çàäàåì ÷èñëî ñòîëáöîâ è ñòðîê òàáëèöû
   StringGrid1.ColCount := m;
   StringGrid1.RowCount := n;
 for i:=0 to n-1 do
    for j:=0 to m-1 do
      a[i][j] :=Random(201)-100; //çàïîëíÿåì ìàññèâ ñëó÷àéíûìè ÷èñëàìè
// Çàäàåì øèðóíó è âûñîòó ÿ÷ååê
   StringGrid1.DefaultColWidth := 30;
   StringGrid1.DefaultRowHeight:= 30;
    for x := 1 to StringGrid1.ColCount - 1 do
    for y := 1 to StringGrid1.RowCount - 1 do
    StringGrid1.Cells[x, y] := IntToStr(a[x][y]);
    begin
end;
end;

procedure TForm1.Reresech11Click(Sender: TObject);
 var strok, stolb : integer;
minim, s, r,q :integer;
begin
  strok :=0;
  stolb :=0;
   minim :=-100;
   for s := 0 to n-1 do
      for r := 0 to m-1 do
        if a[s,r] < minim then     //åñëè ýëåìåíò áîëüøå, ÷åì ÷èñëî â ïåðåìåííîé max
        begin
         for q := 0 to 10 do
          minim := a[s,r];         //çàïèñûâàåì â min ýòî ÷èñëî
          strok := s + 1;       //çàïèñûâàåì ñòðîêó â êîòîðé ìèíèìàëüíûé
          stolb := r + 1;      //çàïèñûâàåì ñòîãëáåö ñ ìèíèìàëüíûì ÷èñëîì
        end;
       // ShowMessage(ToString(min));    //âûâîäèì min
       //ShowMessage(stroka.ToString(strok)+ stolbec.ToString(stolb));    //âûâîäèì ñòðîêó è ñòîëáåö ñ min ýëåìåíòîì

   end;
 {   var
    min[2][100]
    MINIMUM =A[0][0];
for I := 0 to n-1 do
      for j := 0 to m-1 do
        if r[i,j] < min then
if(MINIMUM>A[i][j]) òîãäà MINIMUM =A[0][0]; }
   end.
Moraine93 вне форума Ответить с цитированием
Старый 30.10.2016, 03:01   #78
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

приложение
Вложения
Тип файла: rar Project1.rar (180.2 Кб, 7 просмотров)
Moraine93 вне форума Ответить с цитированием
Старый 30.10.2016, 03:03   #79
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

2) массив "min:" возвращай назад в статику. Потому что динамический массив трудней обрабатывать (пусть будет в динамики только "А").
3) Нахер:
x, y, i, j,
Если будет где то ругаться - делай локальными переменные.


4) Прежде чем красить - нужно найти массив минимувов в процедуре:

Код:
procedure TForm1.Reresech11Click(Sender: TObject);
удаляй там всё и пиши заново, по моим рекомендациям.
ura_111 вне форума Ответить с цитированием
Старый 30.10.2016, 03:16   #80
Moraine93
Пользователь
 
Регистрация: 23.10.2016
Сообщений: 57
По умолчанию

x,y,i,j когда делаю локальными ругается
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, Menus;
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    Stolbec1: TMenuItem;
    N71: TMenuItem;
    N81: TMenuItem;
    N91: TMenuItem;
    N101: TMenuItem;
    Stroka1: TMenuItem;
    N72: TMenuItem;
    N82: TMenuItem;
    N92: TMenuItem;
    N102: TMenuItem;
    Reresech11: TMenuItem;
    StringGrid1: TStringGrid;
    procedure menu_stolbec_8(Sender: TObject);
    procedure menu_stolbec_9(Sender: TObject);
    procedure menu_stolbec_7(Sender: TObject);
    procedure menu_stolbec_10(Sender: TObject);
    procedure menu_stroka_7(Sender: TObject);
    procedure menu_stroka_8(Sender: TObject);
    procedure menu_stroka_9(Sender: TObject);
    procedure menu_stroka_10(Sender: TObject);
    procedure dblclick(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
a: array of array of integer;
min: array[1..2] of array[1..100]  of integer;
x,y, i, j, m, n:integer;

implementation

{$R *.dfm}
  procedure TForm1.menu_stolbec_7(Sender: TObject);
begin
n:=7;
end;
procedure TForm1.menu_stolbec_8(Sender: TObject);
begin
n:=8;
end;
  procedure TForm1.menu_stolbec_9(Sender: TObject);
begin
    n:=9;
end;
procedure TForm1.menu_stolbec_10(Sender: TObject);
begin
   n:=10;
end;
procedure TForm1.menu_stroka_7(Sender: TObject);
begin
m:=7;
end;
procedure TForm1.menu_stroka_8(Sender: TObject);
begin
m:=8;
end;
procedure TForm1.menu_stroka_9(Sender: TObject);
begin
m:=9;
end;
procedure TForm1.menu_stroka_10(Sender: TObject);
begin
m:=10;
end;
 procedure TForm1.dblclick(Sender: TObject);
//x, y, : integer;

 begin
 setlength(a,n);
for x:=0 to n-1 do
setlength(a[x],m);
 // Çàäàåì ÷èñëî ñòîëáöîâ è ñòðîê òàáëèöû
   StringGrid1.ColCount := m;
   StringGrid1.RowCount := n;
 for i:=0 to n-1 do
    for j:=0 to m-1 do
      a[i][j] :=Random(201)-100; //çàïîëíÿåì ìàññèâ ñëó÷àéíûìè ÷èñëàìè
// Çàäàåì øèðóíó è âûñîòó ÿ÷ååê
   StringGrid1.DefaultColWidth := 30;
   StringGrid1.DefaultRowHeight:= 30;
    for x := 1 to StringGrid1.ColCount - 1 do
    for y := 1 to StringGrid1.RowCount - 1 do
    StringGrid1.Cells[x, y] := IntToStr(a[x][y]); //
выделяет эту строку    begin
end;
end;

end.
Изображения
Тип файла: jpg Безымянный1.jpg (99.4 Кб, 150 просмотров)
Moraine93 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программирование блок схема. пожалуйста, нарисуйте блок схему. очень срочно нужно! Bogdan96 Помощь студентам 4 22.09.2015 09:33
Pascal ABC(нарисуйте пожалуйста блок-схему, очень нужно) Deril Паскаль, Turbo Pascal, PascalABC.NET 2 05.01.2015 10:18
помогите пожалуйста написать решение задачи и блок схему к ней очень нужно( Alexandr1806 Помощь студентам 1 16.06.2014 22:31
помогите пожалуйста очень нужно решение задачки Satenka Microsoft Office Excel 4 28.05.2014 21:57
Нарисуйте пожалуйста блок-схему лёгкой задачки, не знаю как,очень нужно... prikolist Паскаль, Turbo Pascal, PascalABC.NET 2 28.11.2008 15:27