Консультация № 200376
04.03.2021, 09:33
0.00 руб.
1 5 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: 1) В одномерном массиве определить, имеются ли одинаковые элементы, вывести их значения и индексы.

2) В двумерном массиве
а) Проверить, является ли сумма элементов n-ой строки массива двузначным числом. Выводить все промежуточные значения.
б) Определить, верно ли, что произведение элементов столбца массива с известным номером не превышает заданного числа. Выводить все промежуточные значения. Прикрепляю архив с имеющейся работой. Delphi
Прикрепленные файлы:
b6717a3abc78b832e670efdd7814e883ec7b1c05.rar

Обсуждение

давно
Старший Модератор
31795
6196
04.03.2021, 12:38
общий
Адресаты:
ZIР-ните архив, RAR-платный и не у всех есть RAR с последними протоколами архивации.
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
404834
7
04.03.2021, 13:08
общий
Архив в ZIP'e.
Прикрепленные файлы:
4c3efffd1c287a0eb8f392a2c093f134.zip
Об авторе:
Серёга Мичурин (мичуган)
давно
Старший Модератор
31795
6196
04.03.2021, 13:42
общий
Адресаты:
Вам какой вопрос нужен 1 или 2?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Посетитель
404834
7
04.03.2021, 14:20
общий
04.03.2021, 14:23
Цитата: Зенченко Константин Николаевич
2-й
Об авторе:
Серёга Мичурин (мичуган)
давно
Старший Модератор
31795
6196
13.03.2021, 00:14
общий
это ответ
Здравствуйте, Важик!

Код Lazarus:
[code lang=pascal]unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, Grids;
type
{ TForm1 }
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: char);
procedure Edit2Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: char);
procedure FormCreate(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure CheckKey(var a:char);
begin
Case a of
#08,#13,'0'..'9':;
else a:=#0;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Caption:=' N ';
Edit2.Caption:=' M ';
Button1.Caption:='Create';
Button2.Caption:='Setup';
Edit1.Enabled:=True;
Edit2.Enabled:=False;
Button1.Enabled:=False;
Button2.Enabled:=False;
StringGrid1.Visible:=False;
StringGrid1.DefaultColWidth:=40;
end;
procedure TForm1.Edit1Click(Sender: TObject);
begin
Edit1.Text:='';
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
begin
CheckKey(Key);
if Key<>#0then Edit2.Enabled:=True;
end;
procedure TForm1.Edit2Click(Sender: TObject);
begin
Edit2.Text:='';
end;
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: char);
begin
CheckKey(Key);
if Key<>#0then Button1.Enabled:=True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
if(Edit1.Text<>'')and(Edit2.Text<>'')then
begin
StringGrid1.ColCount:=StrToInt(Edit2.Text)+1;
StringGrid1.RowCount:=StrToInt(Edit1.Text)+1;
for i:=1 to StringGrid1.RowCount-1 do StringGrid1.Cells[0,i]:=IntToStr(i);
for i:=1 to StringGrid1.ColCount-1 do StringGrid1.Cells[i,0]:=IntToStr(i);
StringGrid1.Visible:=True;
Button2.Enabled:=True;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,j:integer;
begin
for i:=1 to StrToInt(Edit2.Text) do
for j:=1 to StrToInt(Edit1.Text) do
StringGrid1.Cells[i,j]:=IntToStr(random(20)+1);
ShowMessage('please select cells');
end;
procedure TForm1.StringGrid1Click(Sender: TObject);
var
a:string;
i,j,n:integer;
begin
if (StringGrid1.Col>0)and(StringGrid1.Row>0)then
begin
ShowMessage('You select col:='+IntToStr(StringGrid1.Col)+' row:='+IntToStr(StringGrid1.Row));
j:=0;
for i:=1 to StringGrid1.ColCount-1 do
j:=j+StrToInt(StringGrid1.Cells[i,StringGrid1.Row]);
if(j>10)and(j<100)then ShowMessage('True:= '+IntToStr(j)+' in range 10 . . 99')
else ShowMessage('False:= '+IntToStr(j)+' with out range 10 . . 99');
repeat
a:=InputBox('task 2b','Enter number:=','a');
until TryStrToInt(a,n);
j:=1;
for i:=1 to StringGrid1.RowCount-1 do
j:=j*StrToInt(StringGrid1.Cells[StringGrid1.Col,i]);
if j<=n then ShowMessage('True '+IntToStr(j)+' <= '+a)
else ShowMessage('False '+IntToStr(j)+' > '+a);
end;
end;
end.[/code]

Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа