Решить задачу на C++

Ответить
atavin-ta
Сообщения: 572
Зарегистрирован: 30 янв 2009, 06:38

09 фев 2009, 08:29

Именно так.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Аватара пользователя
Airhand
Сообщения: 234
Зарегистрирован: 06 окт 2005, 16:21
Откуда: Dnepropetrovsk

09 фев 2009, 14:37

atavin-ta А зачем 2 раза сравнивать ? Можно написать:
for(i = 0; i < n-1; ++i)
{
for(int i1 = i+1; i1 < n; ++i1)
{
if(arr == arr[i1])
{
++m;
}
}
}
Тогда упрощается if и мы опустили преждевременную пессимизацию в виде постфиксной операции ++.
Аватара пользователя
TDUTY
Сообщения: 31
Зарегистрирован: 30 янв 2009, 10:20
Контактная информация:

09 фев 2009, 19:59

Airhand писал(а):atavin-ta А зачем 2 раза сравнивать ? Можно написать:
for(i = 0; i < n-1; ++i)
{
for(int i1 = i+1; i1 < n; ++i1)
{
if(arr == arr[i1])
{
++m;
}
}
}
Тогда упрощается if и мы опустили преждевременную пессимизацию в виде постфиксной операции ++.

а по мне так главное корректно работало))) и все)))
atavin-ta
Сообщения: 572
Зарегистрирован: 30 янв 2009, 06:38

10 фев 2009, 05:35

&quot писал(а):зачем 2 раза сравнивать ? Можно написать:
Согласен. При i1<i и arr=arr[i1] операция ++m уже выполена. Но тогда лучше так:

Код: Выделить всё

 for (i=n-1; i>0; --i)
 {
  for (i1=i-1; i>=0; --i1)
  {
   if (arr[i]==arr[i1])
   {
    ++m;
   }
  }
 }
Причём, i1 объявить заранее, чтобы не повторять в цикле выделение и освобождение памяти.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Аватара пользователя
Airhand
Сообщения: 234
Зарегистрирован: 06 окт 2005, 16:21
Откуда: Dnepropetrovsk

10 фев 2009, 12:04

atavin-ta Это уже оптимизация. А я говорил об исключении преждевременной пессимизации. Что внутренний цикл жрёт слишком много памяти или выполняется медленно ? Зачем тогда выносить временную переменную i1 за цикл ? Незачем. Иначе нужно провести исследование и доказать, что данная часть программы является "бутылочным горлышком".
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

10 фев 2009, 14:08

Airhand писал(а):atavin-ta А я говорил об исключении преждевременной пессимизации.

Airhand, для общего развития, поясните пожалуйста смысл словосочетания "преждевременная пессимизация". А то смысл не совсем понятен.
Аватара пользователя
Airhand
Сообщения: 234
Зарегистрирован: 06 окт 2005, 16:21
Откуда: Dnepropetrovsk

12 фев 2009, 13:06

Albor Вы не знвете, что такое "преждевременная". Или не знаете, что такое "пессимизм" ? Что объяснить то ?
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

12 фев 2009, 16:05

Airhand писал(а):Albor Вы не знвете, что такое "преждевременная". Или не знаете, что такое "пессимизм" ? Что объяснить то ?

Что такое пессимизм я знаю или, во всяком случае, догадываюсь, я не могу связать данное выражение с префиксной и постфиксной формой оператора ++. Почему постфиксная форма пессимистичнее префиксной. :confused: Как по мне, то если хочешь что-то объяснить - нужно использовать понятный язык. Если мысль можно выразить по-русски, то лучше это сделать так. Airhand, не примнимайте это как упрёк, вы привыкли так думать - это ваше. Мне непонятно - я спросил.
Аватара пользователя
Airhand
Сообщения: 234
Зарегистрирован: 06 окт 2005, 16:21
Откуда: Dnepropetrovsk

13 фев 2009, 12:46

Albor А вы реализуйте префиксный и постфиксный операторы и всё поймёте.
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

13 фев 2009, 14:11

Airhand писал(а):Albor А вы реализуйте префиксный и постфиксный операторы и всё поймёте.

Airhand, я прекрасно знаю чем они отличаюся, и разница в использовании того или иного будет при перегрузке для больших объектов из-за создания временной копии в постфиксной форме, а говорить о том, что одно хуже (конечно, если я правильно понял слово пессимизация) другого в контексте представленных задач, где операторы используются для типа в 4 байта считаю нестоящим акцентирования на этом внимания.
PS Один авторитетный программист в нашем городе как-то сказал, что с точки зрения заказчика дешевле добавить памяти себе в комп, чем платить программисту за оптимизацию кода (это было сказано в контексте экономии памяти).
Ответить