|
|
Регистрация | << Правила форума >> | 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) +' замен'); один вопросик: а как сделать что-бы показывал общее кол-во замен? __________________________ Всем удачи!!! |