Russian Qt Forum
Февраля 19, 2025, 01:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 4 5 [6] 7 8 ... 12   Вниз
  Печать  
Автор Тема: Тренировка навыков быстрого программирования  (Прочитано 82623 раз)
8: Undefined index: LANG_NAME
Файл: /var/www/html/Sources/geshi/geshi.php
Строка: 4032
8Observer8
Гость
« Ответ #75 : Февраля 15, 2014, 13:00 »

Конечно Вы не рассказали ничего плохого, но чем меньше таких "лирических опусов" - тем лучше. Здесь надо говорить о программировании, большие отступления неуместны.

Довели Веселый

Замечания
- лишние скобки
- else после return - ну и так пишут, дело вкуса, но необходимости нет
- цикл начинается с 2 (а не с 0)
- min, max лучше описать позже, перед их использованием
- как я понял по условию индекс "1-based". Тогда это надо оформить и чуть откомментить, напр
Код
C++ (Qt)
bool even = (i & 1);  // inverted odd/even (index is one-based)
if (even) {
...
 

> - лишние скобки
Вы хотите сказать, что количество фигурных скобок в операторах лучше уменьшить? Я в книжке подглядел, что лучше везде ставить, даже если один оператор в цикле (или в условии). Книжка называется "Совершенный код"

> - else после return - ну и так пишут, дело вкуса, но необходимости нет
Мне же результат будет известен только за пределами else? Или я что-то не понял?

> - цикл начинается с 2 (а не с 0)
Понял. Элементы 0 и 1 уже сыграли свою роль. Мысль была такая. Я её не додумал.

> - min, max лучше описать позже, перед их использованием
min и max мне в return же нужны? Позже не получится же?

> как я понял по условию индекс "1-based". Тогда это надо оформить и чуть откомментить, напр
Да согласен. Добавил. Хороший комментарий, спасибо!

Что-то задачки - ну прямо "ниже травы", замахнитесь на покрупнее, а то интереса ноль  Улыбающийся

Да, пора бы покрупнее Улыбающийся Там они по сложности разделяются в процентах.Больше 50% я пока не осиляю. Мда... Этот сайт для школьников... Куда катится мир Улыбающийся Сложно, но постепенно (может за год) я решу все 600 Веселый. Если в среднем по 2 задачи в день.
« Последнее редактирование: Февраля 15, 2014, 13:02 от 8Observer8 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #76 : Февраля 15, 2014, 17:08 »

Цитировать
- лишние скобки
лишних не бывает, в основном все зависит от стиля
Из всего сказанного, я так и не понял - а чем радиофизика не устраивает? Почему надо вдруг разработчиком становиться?
Могу предположить, это все тот устой, который сложился лед эдак 10 назад, что :"О программист круто же"
на самом деле все проще на мой взгляд: зар. плата
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Nidxogg
Гость
« Ответ #77 : Февраля 15, 2014, 17:50 »

Цитировать
Из всего сказанного, я так и не понял - а чем радиофизика не устраивает? Почему надо вдруг разработчиком становиться?
Оффтопну:
В России по данной специальности врятли получиться нормально работать.
А для забургорья нужен опыт
« Последнее редактирование: Февраля 15, 2014, 18:39 от Nidxogg » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #78 : Февраля 15, 2014, 19:02 »

Мне же результат будет известен только за пределами else? Или я что-то не понял?
Лично я бы писал так
Код
C++ (Qt)
 
   if (size == 0) return 0;
   if (size == 1) return arr[0];
 
   int  min = arr[0];
   int  max = arr[1];
   for (int i = 2; i < size; ++i) {
    ...
 
Некоторые любят без return'ов, чтобы ф-ция обязательно всегда доходила до последней строки. Тогда напр так
Код
C++ (Qt)
int min = 0, max = 0;
 
if (size > 0) {
min = arr[0];
if (size > 1) {
 max = arr[1];
 for (int i = 2; i < size; ++i) {
  ....
 }
}
}
return min + max;
А в общем здесь нечего обсуждать т.к. все уж слишком просто  Улыбающийся
Записан