|
Вопрос # 5 405/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
Как добавить счётчик?
(Заменить отрицательные элементы линейного массива их модулями, не пользуясь стандартной функцией вычисления модуля.) мне нужно только Подсчитать количество произведённых замен.
Приложение: Переключить в обычный режим- procedure TF_proc_2.B_rezClick(Sender: TObject);
- const
- n=15;
- type
- mas=array[0..n-1] of Integer;
- procedure ra(var x:mas);
- var
- ind:integer;
- begin
- for ind:=low(x) to high(x) do
- x[ind]:=random(50)-25;
- end;
- procedure printmas(const x:mas);
- var
- ind:integer;
- begin
- for ind:=low(x) to high(x) do
- M_1.Lines.Add(IntToStr(x[ind]));
- end;
- procedure ex(var x:mas; var ch:integer);
- var
- ind:integer;
- begin
- ch:=0;
- for ind:=low(x) to high(x) do
- if x[ind]<0 then
- x[ind]:=-x[ind];
- inc(ch);
- end;
- var
- x:mas;
- ch:integer;
- begin
- randomize;
- Ra(x);
- printmas(x);
- ex(x,ch);
- printmas(x);
- end;
 |
Вопрос задал: strannik23 (статус: Посетитель)
Вопрос отправлен: 13 июня 2011, 13:06
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Gooddy
Здравствуйте, strannik23!
Количество произведённых замен уже хранится в переменной ch.
M_1.Lines.Add( 'Количество замен' + IntToStr( ch ) );
И всё.
 |
Ответ отправил: Gooddy (статус: 3-ий класс)
Время отправки: 13 июня 2011, 13:31
Оценка за ответ: 5
Комментарий к оценке: спасибо
|
Мини-форум вопроса
Всего сообщений: 3; последнее сообщение — 13 июня 2011, 13:43; участников в обсуждении: 2.
|
strannik23 (статус: Посетитель), 13 июня 2011, 13:35 [#1]:
я так тоже думаю, но почему то выводит не правильно, пишет что
Количество замен 1
|
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 13:40 [#2]:
Опечатка была
procedure ex( var x: mas; var ch: integer );
var
ind: integer;
begin
ch := 0;
for ind := low( x ) to high( x ) do
if x[ind] < 0 then
begin
x[ind] := -x[ind];
inc( ch );
end;
end;
Чисти код! Чисти код! Чисти код!
|
|
Gooddy (статус: 3-ий класс), 13 июня 2011, 13:43 [#3]:
Не по делу, но всё же.
1. Вложенные процедуры - плохая идея. (Много процедур - хорошая)
2. Короткие названия помогают писать, но не помогают читать.
3. Где отступы?
4. Какая Delphi?
Чисти код! Чисти код! Чисти код!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|