Помогите разобраться. Дан массив чисел, произвольной длинны пытаюсь обойти его с помощью указателя, а получаеться что он выходит за пределы массива. Почему не верно:? Code: double max=*pArr; while(*pArr){ if(max<*pArr) max=*pArr; pArr++; }
потому что программа не занает где кончается массив. даже за пределами твоего массива в ячейках памяти находятся какие-то данные - цифровой мусор. программа не ясновидящая, что бы понять какие данные относятся к массиву, а какие нет. таким образом инкементируя адреса, указатель будет прыгать дальше, а в while(*pArr) выражение *pArr будет ещё долго true.
Похожим образом можно работать с char, но не с double... Ну так если дан массив то работай с ним как с массивом т.е. Code: double test[5]; for (int i = 0; i < (sizeof(test) / sizeof(double)); i++ ) { std::cout << test[i] << "\n"; ... }
2rudvil and 2all а по-красивей варианта нет :? я массив в функцию передаю и такой ход может не прокатить.
объясни понятно что нужно сделать, какая вобще задача. Тот код что ты привел в пример смысла почти не имеет. Надо посчитать количество элементов массива? С помощью указателя и куска памяти где этот массив лежит это сделать нереально.
Вот изначально как выглядело. Цель банальна найти наибольший элемент в массиве. Как уже выяснилось это заведомо неверный код, просто хочу показать как выглядело изначально и какие цели приследуются. Code: max_arr(double *pArr){ double max=*pArr; while(*pArr){ if(max<*pArr) max=*pArr; pArr++; }
Как в Code::Block добавить иконку? То есть нужно прифигачить свою иконку в левую верхнюю часто консольного приложения, и естественно на екзешкик(ярлык). Зарание благодарен!
2Gin изначально массив как инициализирован? Может стоит сделать структуру которая будет содержать значение, и указатель на следующйи элемент? Тогда обход можно выполнять так: Code: for ( mas *pnt = temp; pnt != NULL; pnt = pnt->next ) Или гораздо проще использовать std::vector если нужун динамический массив 2-m0rgan- Не уверен но может это поможет? Добавляем в проект файл resource.rc. Иконка приложения: Code: // should be first in alphabetical ID list, we use "AAAAAAA" name AAAAAAA_PROGRAM_ICON ICON "PATH_to_icon/icon_NAME.ico" Наткнулся на одном блоге.
для обычных массивов нада передавать его размер. других путей нет. прваильный же путь - юзать stl'ский vector.
Народ, дайте плз ХОРОШУЮ книгу по АПИ в С++, а то я уже заебался методом тыка шаманить с этими форточками =\\\
окошки ------------ (!) Петцольд Ч. Программирование для Windows 95 Щупак Ю. Win32 Api. Разработка приложений для Windows Финогенов. WIN32 система ------------ (!) Рихтер. Windows via C/C++ Харт. Системное программирование в среде windows Выделенные (!) обязательны к прочтению. Всё есть в сети (Правда по поводу Рихтера - последнего издания не уверен, но предыдущее есть, а там все почти тоже самое, за исключением висты). ЗЫ Да и Петцольд НЕ УСТАРЕЛ в отношении оконного интерфейса. Про остальное лучше читать у Рихтера (dll, memory, etc)
ну если хочешь написать что-то более-менее нормальное, советую win forms, остальной winapi - только в случае, когда нужно что-то системное сделать
2scrat, на даный момент я пишу простенькие програмки и набираюсь опыта. Вот столкнулся с задачей реализации ГУИ приложений на С++ Благодарю за вин формс, попробую. 2Hiro Protagonist, благодарю за апи.