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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    HNKTO



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

    Цитата:
    Я пытаюсь объявить массив с данными типа float но при этом не объявляя его размер, чтобы потом функция вернула в данную позицию/переменную/указатель массив нужного размера.

    Так нельзя. Регистровые переменные могут создаваться ИСКЛЮЧИТЕЛЬНО фиксированного размера на момент компиляции программы.
    Чтобы отойти от фиксированного размера:
    Создаёшь указатель (float *aRes)
    Потом создаёшь массив в памяти aRes = malloc(размер Байт)
    И пользуешься.
    А вообще внимательней читай учебник. Там всё это написано.
    ----------
    Условие задачи выглядит как контрольная задача по итерационным алгоритмам. Я не ошибаюсь?
    =======================================================================


     
    =======================================================================
    Может кто подскажет какую - нить стандартную функцию для конвертации текста из Юникода(ну или если точнее той двухбайтной кодировки текста, которая используется для unicode программ в Windows) в UTF-8, если таковая вообще есть ???
    А если нет - то как это сделать ручками на С++.  
    Программа пишется в MSVS2010 (для винды естественно)

    Всего записей: 2088 | Зарегистр. 30-01-2010 | Отправлено: 23:01 26-04-2013 | Исправлено: HNKTO, 23:02 26-04-2013
    V0lt



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

    Цитата:
    Может кто подскажет какую - нить стандартную функцию для конвертации текста из Юникода(ну или если точнее той двухбайтной кодировки текста, которая используется для unicode программ в Windows) в UTF-8, если таковая вообще есть ???

    https://github.com/mpc-hc/mpc-hc/blob/master/src/DSUtil/DSUtil.cpp#L1500

    Код:
    CStringA UTF16To8(LPCWSTR utf16)
    {
        CStringA str;
        int n = WideCharToMultiByte(CP_UTF8, 0, utf16, -1, NULL, 0, NULL, NULL) - 1;
        if (n < 0) {
            return str;
        }
        str.ReleaseBuffer(WideCharToMultiByte(CP_UTF8, 0, utf16, -1, str.GetBuffer(n), n + 1, NULL, NULL) - 1);
        return str;
    }

    Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 23:14 26-04-2013
    AZJIO



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

    Цитата:
    Потом создаёшь массив в памяти aRes = malloc(размер Байт)  
    Этот ответ хотелось бы конечно получить не после того как разобрался. Но сделал уже без массива. Единственное таймер не пойму почему 0.0000 выдаёт, либо так быстро код работает (маловероятно) либо просто сам таймер не работает.
    malloc конечно массив не создаёт он просто память выделяет под указанный размер массива, который я должен был вычислить и возвратить указатель. Хотя тут ещё проблема - таскать ещё одну переменную - количество элементов массива (указатель то  не содержит размера массива). Её бы можно было вставить в первый элемент массива, но это разве нормально иметь количество в формате float? Теоритически можно (с приведением к int), но является ли это правильный стиль программирования.

    Цитата:
    Условие задачи выглядит как контрольная задача по итерационным алгоритмам. Я не ошибаюсь?
    Выглядит как человек попросил сделать рассчёт каких-то продаж, но идея с математической точки зрения показалась интересной. Кстати, прочитал что деньги не рекомендуется считать в формате с плавающей точкой. Я использовал double, по крайней мере результаты стали ожидаемыми.

    Цитата:
    А вообще внимательней читай учебник. Там всё это написано.
    Не уверен. К примеру я не нашёл варианта возвращения массива с float из функции. В гугле всё написано... также как и про WideCharToMultiByte, которую я когда-то переводил в рамках AutoIt3, и обратную ей MultiByteToWideChar.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 02:57 27-04-2013 | Исправлено: AZJIO, 03:25 27-04-2013
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Переменные в структуре можно таскать.
    И за одну секунду time() миллионы таких програмок можно прощитать.
    Пример структуры и более точного измерения времени (в тактах процессора) выполнения подпрограммы:
     
    #define SIZEOF_ARR 3
     
    typedef struct {
        int kx, ky, iMin, iMax, arrLen;
        double Sum, *result;
    } PACK;
     
    int Calc(PACK* p)
    {
        int i, k1, k2, c1, c2, iMin, iMax, tmpMin;
        int k100 = 100;
     
        __int64 ticks = __rdtsc();
        
        iMin = p->iMin * k100;
        iMax = p->iMax * k100;
     
        //...
        
        for(i = 0; i < p->arrLen; ++i)
            p->result[i] = 3.14159265358979323846;
     
        printf("%lli processor cycles passed\n", __rdtsc() - ticks);
        return 0;
    }
     
    main()
    {
        int i, z;
        PACK p;
        double arr[SIZEOF_ARR];
        
        p.kx = 4507;
        p.ky = 109;
        //...
        p.arrLen = SIZEOF_ARR;
        p.result = arr;
     
        z = Calc(&p);
        
        printf("1st element of array = %lf, 2nd = %lf, 3rd = %lf\n", arr[0], arr[1], arr[2]);  
        return z;
    }

    Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 11:30 27-04-2013
    HNKTO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt, AZJIO
    Спасибо.

    Всего записей: 2088 | Зарегистр. 30-01-2010 | Отправлено: 20:08 27-04-2013
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ne_viens
    Спасибо. Только на MVS удалось скомпилировать. За одно разобрался с цветовыми настройками Black_IDE.7z, сделал Black цветовую схему (как в CHM-справке).

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 02:45 28-04-2013
    ne_viens

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В начале надо добавить:
    #ifdef __GNUC__
    long long __rdtsc(void) {
        asm
        (
          ".byte 0x0f\n"
          ".byte 0x31\n"
        );
    }
    #endif

    Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 13:35 28-04-2013
    juvaforza

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Все, вопрос снят.

    Всего записей: 2895 | Зарегистр. 26-11-2005 | Отправлено: 14:09 28-04-2013 | Исправлено: juvaforza, 14:36 29-04-2013
    adasiko



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

    Цитата:
    Мужики, не надо мне советовать прочитавши поверхностно одну книгу. Вот вам каталог раздач на несколько гигабайт, я лично скачал штук 20 разных книг, в том числе и djvu и pdf форматах. Читать кривой текст только глаза себе портить, максимум что я бы почитал - Прата, но опять же djvu, просто качество терпимое.  Я просил помочь, а не отсылать в гугль или указывать на очередную партию книг.

    А я реально советую купить/взять в библиотеке/у знакомых бумажную (если уж так глаза важны) и не толстую книгу и вдумчиво прочитать главы, разбирая приводимые примеры, иначе толку мало будет
    PS: решать конечно самому
    PS2: Подбельского привёл в качестве патриотизма, да и сам когда-то начинал с неё, но естественно можно выбрать другую книгу

    Всего записей: 1807 | Зарегистр. 30-06-2008 | Отправлено: 20:44 28-04-2013 | Исправлено: adasiko, 20:50 28-04-2013
    AZJIO



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

    Цитата:
    А я реально советую купить/взять в библиотеке/у знакомых бумажную
    Бумажная хорошо когда на работу едешь или выпадают свободные минуты, а если компьютер рядом, по себе знаю, что после каждого примера хочется включить и попробовать код или поискать вопрос в google. Но ещё проблема, именно той книги которая нравится нет в бумажном варианте. И ещё люди которые здесь пишут могут жить не в миллионнике, в небольшом городе, где книги по Си могут вообще не быть, потому что спрос на них почти нулевой.

    Цитата:
    вдумчиво прочитать главы, разбирая приводимые примеры, иначе толку мало будет
    Почему вы думаете что я делаю не так? Вообще по форумным баталиям я понял одно правило, если не хочешь/не можешь/нет времени помогать, то лучше совсем не помогать и даже не отписывать причины, всё равно рано или поздо уровень одного программиста растёт до пределов, когда уже скушно подсказывать сотне новичков прописные истины, при этом узнаёшь себя, а ведь несколько лет назад я задавал такие же вопросы. Хотелось бы мне тогда, чтобы меня тыкали носом, учили всему, кроме заданного вопроса? Нет. Поэтому, если вопрос кажется глупым, то оставить его для тех, чтобы ответили программисты среднего уровня, которым приятно и помочь и самому чему то научится. Но это в лучшем случае, в худшем это помощники, которые не могут помочь, кроме выдать себя за умного и направить в google. Такое же наставление (внимательно читать справку) я могу дать и сам любому программисту в этой теме.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 01:51 29-04-2013 | Исправлено: AZJIO, 02:23 29-04-2013
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 05:04 29-04-2013 | Исправлено: bomzzz, 05:05 29-04-2013
    AZJIO



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

    Цитата:
    вот тут счастья попытай cyberforum.ru
    Думаешь я не знаю про этот форум? У меня там посты годичной давности. Теоретически я понимаю, что решить могу вообще никого-ничего не спрашивая, всё уже написано в гугле в разных инкарнациях. Но иногда для одного решение проблемы требует 3 дня корпения, для специалиста 3 слова сказать/намекнуть.

    Цитата:
    возможно ты взялся сразу за крупную задачу
    задача эта примитивная, нулевой уровень.

    Цитата:
    сначала надо было руку набить на простых примерах
    Мне кажется ты повторяешь ошибку предыдущих авторов. Бери пример с ne_viens пишет либо код, либо ничего, без флуда.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 07:46 29-04-2013 | Исправлено: AZJIO, 08:04 29-04-2013
    bomzzz



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

    Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 07:56 29-04-2013
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    На форуме AutoIt3 в день таких задач решается несколько, я сам 5-10 ответов могу дать в сутки иногда при отсутсвии кода, а уж указать ошибки при наличии кода, это вообще мелочь.

    Цитата:
    но как обычно народу больше трется
    Почему тогда ответ 4 дня ждать приходится?

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 08:09 29-04-2013 | Исправлено: AZJIO, 08:28 29-04-2013
    kotlomoy



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    в шапке есть ссылка
    http://www.linuxrsp.ru/artic/smart-questions-ru.html

    Всего записей: 172 | Зарегистр. 06-03-2008 | Отправлено: 08:51 29-04-2013
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    kotlomoy
    Читал год назад эту ссылку, сам пару раз давал её на форуме AutoIt3, на офсайте у некоторых она в подписи, переведено на несколько языков. В шапку лучше качественные книги добавить, ссылки на IDE. Думаю это больше принесёт пользы новичкам.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 10:20 29-04-2013 | Исправлено: AZJIO, 10:21 29-04-2013
    adasiko



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

    Цитата:
    задача эта примитивная, нулевой уровень.

    Без знания элементарных основ эта задача действительно сложная. А писание кода без осмысления и хоть какой-то теории называется не программирование, а быдлокодинг. Да и процесс обучения строится от простого к сложного, а не разом.
    PS: уж извиняюсь, но как есть. Больше кэпить не буду

    Всего записей: 1807 | Зарегистр. 30-06-2008 | Отправлено: 16:18 29-04-2013 | Исправлено: adasiko, 16:19 29-04-2013
    Regina93

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый вечер!
    Подскажите, пожалуйста, как установить библиотеку Glut? Операционная система Ubuntu. Я знаю, что она устанавливается набором 1-й команды в терминале. Но есть проблема: мой нэт-бук не подключён к Интернету. Интернет есть на компе, но на компе стоит Винда.  
    Можно ли скачать библиотеку с интернета, а потом установить на Ubuntu?

    Всего записей: 2 | Зарегистр. 16-07-2012 | Отправлено: 18:44 29-04-2013
    AZJIO



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

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 22:39 29-04-2013 | Исправлено: AZJIO, 21:33 30-04-2013
    Denglis

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как удалить все одинаковые символы из массива символов?
    Например, надо удалить все символы 's' если встречается 's''s'?:
    char ch[]="psssrossgrsasssssms"

    Всего записей: 2 | Зарегистр. 28-04-2013 | Отправлено: 10:44 30-04-2013
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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