Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 405

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
Как добавить счётчик?
(Заменить отрицательные элементы линейного массива их модулями, не пользуясь стандартной функцией вычисления модуля.) мне нужно только Подсчитать количество произведённых замен.

Приложение:
  1. procedure TF_proc_2.B_rezClick(Sender: TObject);
  2. const
  3. n=15;
  4. type
  5. mas=array[0..n-1] of Integer;
  6. procedure ra(var x:mas);
  7. var
  8. ind:integer;
  9. begin
  10. for ind:=low(x) to high(x) do
  11. x[ind]:=random(50)-25;
  12. end;
  13. procedure printmas(const x:mas);
  14. var
  15. ind:integer;
  16. begin
  17. for ind:=low(x) to high(x) do
  18. M_1.Lines.Add(IntToStr(x[ind]));
  19. end;
  20. procedure ex(var x:mas; var ch:integer);
  21. var
  22. ind:integer;
  23. begin
  24. ch:=0;
  25. for ind:=low(x) to high(x) do
  26. if x[ind]<0 then
  27. x[ind]:=-x[ind];
  28. inc(ch);
  29. end;
  30. var
  31. x:mas;
  32. ch:integer;
  33. begin
  34. randomize;
  35. Ra(x);
  36. printmas(x);
  37. ex(x,ch);
  38. printmas(x);
  39. end;


strannik23 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: 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

strannik23 (статус: Посетитель), 13 июня 2011, 13:35 [#1]:

я так тоже думаю, но почему то выводит не правильно, пишет что
Количество замен 1
Gooddy

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

Gooddy (статус: 3-ий класс), 13 июня 2011, 13:43 [#3]:

Не по делу, но всё же.

1. Вложенные процедуры - плохая идея. (Много процедур - хорошая)
2. Короткие названия помогают писать, но не помогают читать.
3. Где отступы?
4. Какая Delphi?
Чисти код! Чисти код! Чисти код!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:51
Выполнено за 0.03 сек.