Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросы по программированию на C/С++

 
  • Справочники, книги
  • Выбор IDE (среды программирования)
     
    Постарайтесь дать как можно больше информации о возникшей проблеме - это в конце концов в ваших же интересах чтобы вам помогли.

    Решения конкретных задач собираются и обсуждаются в теме Задачи по C/С++ .

    Прежде чем просить помощи в задании...
    Если позарез надо и вы даже готовы заплатить

    Как правильно задавать вопросы, если вы хотите получить ответ.

    Полезные ссылки:
    C++(eng)

  • Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 13:37 06-05-2004 | Исправлено: AZJIO, 19:45 12-05-2014
    akaGM

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MoLnuS
    ты хочешь сказать, что это тоже не работает?
    int i = 10;
    printf("i = %d\n", i);

    Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 11:41 20-09-2012
    panda3

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BagaBaga

    Цитата:
    Вопрос по оператору []. Он может принимать только единственный аргумент ([a]), или же его можно переопределить так, чтобы он принимал два аргумента ([a,b])?

    Используй круглые скобочки, там скокохошь можно аргументов. А тут: [а, b] - нет двух аргументов у оператора [], тут два аргумента у оператора запятая, т.е вопрос даже не в том, чтобы его переопределить, а в том что вообще синтаксически невозможно ему два аргумента указать.

    Всего записей: 203 | Зарегистр. 06-02-2007 | Отправлено: 12:30 20-09-2012 | Исправлено: panda3, 12:31 20-09-2012
    BagaBaga

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос по vector. У него [] не проверяют границы диапазонов, т.е. действуют точно так же, как у обычного массива. at() аналогичен, но проверяет. Есть ли какой флаг "дебага", чтобы с ним скомпилированная программа на [] проверяла допустимость индекса (т.е. вела себя как at())? Уверен, что когда-то такое находил, но вот теперь нигде не вижу ничего похожего.

    Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 20:54 20-09-2012
    Aktaf



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Помогите пожалуйста.
    Я не программер. Но, вот вынужден был немного приспособиться.
    Никто не брался, а нужно было Вертуал Даб зделать как мне бы понравился.
    Не всю программу конечно, а расположения кнопок управлений, за одно более полно перевести и еще по мелочу. Вроде удалось. Но, он же постоянно развивается, я и приготовил себе чтобы можно было с учетом изменений, свежие версии сделать по своему образцу. Раздал предыдущие версии, тем кто хотел и так же впредь хочется поддержать. Явно удобнее. Но, вот с свежей версией проблема.
    Я не могу его заставить "работать. Т.е. Из исходников, ничего не меняя, не могу скомпилировать. Видимо версия не подходит и при конвертации что-то не получается или что еще не знаю...
     
    Визуал у меня 2008.
    Попробуйте пожалуйста, что не так и как мне приспособиться. Вот исходник с сайта:
    http://www.virtualdub.org/beta/VirtualDub-1.10.3-test6-src.7z
     
    Спасибо.

    Всего записей: 2807 | Зарегистр. 06-02-2003 | Отправлено: 10:31 21-09-2012
    lokoham

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравтствуйте У меня есть 2 вопроса по языку Си:
    1. Возможно ли в формате вывода fprintf внутри формата использовать переменную, которая допустим отвечает за количество знаков после точки ( пример: fprintf(write, "%.jf ",c); , где j переменная, которая высчитывается раньше) ?
     
    2.Как правильно сравнить вещественное и целое число?

    Всего записей: 88 | Зарегистр. 05-02-2010 | Отправлено: 10:37 21-09-2012 | Исправлено: lokoham, 10:38 21-09-2012
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    1. Нет, сначало sprintf'ом придётся поработать:
     
    ...
     int x = 3;
     char j[10];
     float c;
     
     sprintf(j, "%%.%df", x);
     fprintf(write, j, c);
    ...
     
    2. Просто сравнивать:
    ...
     float c = 3.14;
     int x = 3;
     
     if(c > x)
    ...

    Всего записей: 1530 | Зарегистр. 01-11-2004 | Отправлено: 13:45 21-09-2012
    panda3

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BagaBaga

    Цитата:
    Есть ли какой флаг "дебага", чтобы с ним скомпилированная программа на [] проверяла допустимость индекса

    В stl вообще поддержки отладки никакой нет, как правило. Я использую векторы из библиотеки boost:ublas, там есть проверка индекса при отладке.

    Всего записей: 203 | Зарегистр. 06-02-2007 | Отправлено: 20:14 21-09-2012
    kotlomoy



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lokoham

    Цитата:
    2.Как правильно сравнить вещественное и целое число?

    Самое главное, нужно избегать прямых сравнений типа
     
    ...
    double d;
    ...
    if (0 == d)
    ...
     
    а вместо этого писать, например, так
     
    if (abs( d - 0 ) <= 0.00001)
     
     
    То же самое при проверке на больше/меньше, вместо
     
    if (d > 0)
     
    лучше писать
     
    if (d > 0.00001)

    Всего записей: 172 | Зарегистр. 06-03-2008 | Отправлено: 02:56 22-09-2012
    shok

    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    del

    Всего записей: 11538 | Зарегистр. 30-04-2006 | Отправлено: 15:21 23-09-2012 | Исправлено: shok, 18:31 24-09-2012
    adasiko



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aktaf
    Лучше использовать ту среду под которой эти исходники - vs 2005. Даже для программиста со среднем опытом перенос чужого кода под другую ИДЕ зачатую не простая задача.

    Всего записей: 1807 | Зарегистр. 30-06-2008 | Отправлено: 08:02 24-09-2012
    Aktaf



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    adasiko

    Цитата:
    Лучше использовать ту среду под которой эти исходники - vs 2005. Даже для программиста со среднем опытом перенос чужого кода под другую ИДЕ зачатую не простая задача.

    Наверно так. Но, вот с тремя разными версиями Даба добился. А тут они изменили что-то.
    В описании ошибок то есть, но я не понимаю. То ли это при конвертации воспринимает правильно описанное как не правильным, то ли на самом деле не правильно (тогда вроде и у самих не получилось бы).
    А я так долго добивался, с установками плохо происходит. Кое как добился. Теперь если снова все переделывать. Это кошмар.
     
    Неужели никто не хочет помощь. Знающим же это не так сложно. Там ошибки в одном месте и мне кажется совсем легко должно быть. Но, набегает как 83 ошибки (в одном разделе). А в Дабе это вроде 1-4 ошибок. Вообщем ругается, что написано не правильно, что-то типа - перед запятой нужно ставить точку с запятой, и т.д. и поэтому не правильно определяется...
     

    Всего записей: 2807 | Зарегистр. 06-02-2003 | Отправлено: 15:16 24-09-2012
    ItsJustMe

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Aktaf
    2005 и 2008 отличаются незначительно. При переносе проблем возникнуть не должно. Даже при переносе кода с 2005 на 2012 проблем обычно не возникает.

    Цитата:
    Т.е. Из исходников, ничего не меняя, не могу скомпилировать.

    Скорее всего, дело в самих исходниках. Такое частенько бывает. Если исходники выложены, это еще не значит, что они не содержат ошибок. Даже таких, которые не дают им скомпилироваться.

    Цитата:
    Знающим же это не так сложно.

    Дело не в том, что сложно, а в том, что человек сам должен быть заинтересован в компиляции этого нечто. В данном случае VirtualDub. Потому, что это все же может потребовать некоторых усилий. Я вот сейчас скачал исходники и... действительно пришел к выводу, что некоторые усилия понадобятся. В моем случае - несколько бОльшие усилия, чем я готов приложить.

    Всего записей: 2028 | Зарегистр. 02-09-2005 | Отправлено: 01:19 25-09-2012
    Aktaf



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    ItsJustMe

    Цитата:
    В моем случае - несколько бОльшие усилия, чем я готов приложить.  

    Очень жаль. Но, я не осуждаю. Кто что может, что пожелает.
    Плохо только на форумах больше болтают, чем помогают друг другу.
    Но, видимо мне самому не разобраться, раз Вам нужны большие усилия...
    И похоже в этой теме редко появляется добрая душа, с большими желаниями помощь.
     
    Спасибо. Вопрос - просьба снимается. Помогли разобраться.
    Они сменили "платформу" ...

    Всего записей: 2807 | Зарегистр. 06-02-2003 | Отправлено: 07:56 25-09-2012 | Исправлено: Aktaf, 22:15 26-09-2012
    bURov73

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Создаю MSI.
    Хочется понять как поступают разработчики, если нужно приложение устанавливать как на 32-битные, так и на 64-битные системы?
    Делать 2 экземпляра MSI?

    Всего записей: 5 | Зарегистр. 12-09-2012 | Отправлено: 16:11 03-10-2012 | Исправлено: bURov73, 16:36 03-10-2012
    bomzzz



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    да два инсталятора создают. ни разу не попадалась программы чтоб инсталятор один был или екзешник. вот дллки общие попадались

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 16:14 03-10-2012
    BagaBaga

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос про произвольный нижний индекс в массиве.
     
    Известно, что в С++ нумерация элементов в массива происходит с нуля. Чтобы было не с нуля, делают, например, вот такой хак:
    int *ptr;
    int *p = ptr-1;
    После этого его можно использовать от 1 до n, а не от 0 до N-1.
     
    Так вот, насколько этот хак законен, и что луше, если не он? В оригинале нужно было получить произвольную нижнюю границу, например  
    из  
    int *ii = {1,2,3};
    (диапазон по i от 0 до 2)
    int *jj = ii+1;
    (Диапазон от -1 до 1)

    Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 19:59 03-10-2012
    adasiko



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bURov73
    Зависит от задачи, в принципе можно и в один все запихать
    bomzzz
    Ну как же, я хоть и не активный пользователь вендов, но virtualbox, flash-plugin...
     
    Добавлено:
    BagaBaga
    А зачем это вообще нужно, если можно просто линейным сдвигом по индексу...
    так только извращенцы дельфисты делают
    А хак немного грязноват - можно с помощью него выстрелить себе по заднице

    Всего записей: 1807 | Зарегистр. 30-06-2008 | Отправлено: 20:53 03-10-2012 | Исправлено: adasiko, 21:02 03-10-2012
    BagaBaga

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это нужно в некоторого рода задачах, когда индекс "естественным образом" ложится в некоторый непрерывный диапазон (или когда вся задача описана в такого рода диапазонах). Из учебных задачек можно вспомнить "о восьми ферзях" (кодирование диагоналей и антидиагоналей). Из неучебных придётся сначала делать "реверанс" в предметную область, но нужно ли? И - таки да - индекс можно просто пересчитать, может, даже спрятать в функцию (чтобы не накосячить с очепятками при наборе), или - для красивости - упаковать в оператор (понятно, что не для массива, - т.к. для стандартных типов не перегрузить, - а для своего класса-обёртки).

    Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 21:25 03-10-2012 | Исправлено: BagaBaga, 21:27 03-10-2012
    karakurt2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    BagaBaga
    Такой подход применяется в книге, Numerical Recipes, но люди правильно говорят, что это извращение. Для языка это просто базовый адрес и смещение от него, так что с точки зрения эффективности лучше подправить логику алгоритма.

    Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 22:35 03-10-2012
    juvaforza

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bURov73
    Если конкретно про MSI - вот, и дальше про проблемы по гуглу.

    Цитата:
    Хочется понять как поступают разработчики, если нужно приложение устанавливать как на 32-битные, так и на 64-битные системы?

    Т. е. обе реализации приложения, каждую на свою ОС? Выбирают каждый свое. Минусы совмещенного исталлятора - "лишний вес" из-за дублирования бинарных файлов и частое отсутствие ком. ключей "жесткого" выбора версии. Минусы двух инсталляторов - пользователи поначалу путаются.
     
    BagaBaga
    Если смещать указатель, а не индекс - увеличивается риск неправильного освобождения или выделения памяти.

    Всего записей: 2895 | Зарегистр. 26-11-2005 | Отправлено: 23:12 03-10-2012
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru