![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Здравствуйте, нужна маленькая помощь.
процедура замена - на +: нужно показать фиксированое число замен, но если число замен совпадает с n*m вывести что" все эл-ты заменены". У меня работает маленько не так: " все эл-ты заменены" выходит даже если замен меньше. Заранее спасибо. Код:
Type
TA=array of real;
TA1=array of TA;
var
Form1: TForm1;
a:TA1;
n,m:Longint;
implementation
{$R *.dfm}
procedure Samena(b:TA1);
var
i,j,zam: Longint;
begin
zam:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do
if b[i,j]<0 then
begin
b[i,j]:=abs(b[i,j]);
zam:=zam+1;
ShowMessage('произведено ' +IntToStr(zam) +' замен');
if zam =(n-1)*(m-1) then
ShowMessage('заменены все элементы')
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
n:=StrToInt (Trim (Edit1.Text));
m:=StrToInt (Trim (Edit2.Text));
StringGrid1.ColCount:=n;
StringGrid1.RowCount:=m;
SetLength(a,n,m);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i,j:Longint;
begin
for i:=0 to n-1 do
for j:=0 to m-1 do
a[i,j]:=StrToFloat (StringGrid1.Cells[i,j]);
begin
Samena (a);
for i:=0 to n-1 do
for j:=0 to m-1 do
StringGrid1.Cells [i,j]:=FloatToStr(a[i,j]);
end;
end;
end. |
|
#2
|
|||
|
|||
|
Цитата:
Код:
if zam =(n-1)*(m-1)
then ShowMessage('заменены все элементы')
else ShowMessage('произведено ' +IntToStr(zam) +' замен'); |
|
#3
|
||||
|
||||
|
lmikle спасибо за помощь, но я так пробывал работает неочень.
я переделал, так гораздо лучше получилось. Код:
if zam =n*m then
ShowMessage('заменены все элементы');
if zam <n*m then
ShowMessage('произведено ' +IntToStr(zam) +' замен');один вопросик: а как сделать что-бы показывал общее кол-во замен? __________________________ Всем удачи!!! |