| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Указатели и массивы |
| Автор: Mister U 27.3.2006, 14:09 | ||
| На завтра (очень желательно) сделать лабораторную работу... Я правильно (по-моему) составил алгоритм решения и написал программу, но... увы и ах, неправильно работает! =( Вот задача: Объявить массив целых чисел и заполнить его случайными значениями. Размер массива = 100. Диапазон значений: [-100;100] Вывести начальные индексы всех непрерывных последовательностей неотрицательных чисел, длина которых больше 5-ти. 0 считается положительным числом. В тексте программы НЕ ПРИМЕНЯТЬ операцию индексации! Вот мой алгоритм (блок-схема): http://dmitriy.chatman.ru/temp_27.03.2006.jpg [68 кб] Вот текст программы:
|
| Автор: _hunter 27.3.2006, 14:16 |
| и в чем эта ошибка заключается? и почему бы самому по коду отладчиком не пойтись?.. |
| Автор: Mister U 27.3.2006, 14:33 |
| ну скажем, выводит индекс 82 я просматриваю массив и вижу, что до этой последовательности была ещё одна с положительными значениями. Или же индекс указывает на отрицательный элемент, после которого следует ещё один... :-/ |
| Автор: LuckLess 27.3.2006, 15:03 | ||
попробуй это
|
| Автор: _hunter 27.3.2006, 15:05 |
| ну а второй вопрос?.. |
| Автор: LuckLess 27.3.2006, 15:10 | ||
чуть поправил
|
| Автор: MAKCim 27.3.2006, 16:55 | ||
|
| Автор: Lotrex 27.3.2006, 16:58 | ||||||
Mister U, у Вас (в Вашем варианте) указатели не инициализированы. Т.е. переменные ptr, Fmin, Lmin никуда не указывают, а точнее - указывают куда-то, и очень возможно, что на область памяти, которую занимают какие-то переменные. Для начала Вам объявить ptr как массив, а не как указатель, т.е. вместо этого:
написать это:
В первом (Вашем) варианте память под массив не выделяется, ptr указывает бог знает куда и туда же Вы и пишете. Пока что думаю Вам лучше сделать так(дабы меньше изменений делать):
Далее - как в Вашей программе. (Опять таки, я дальше не смотрел, мож там исче что-то есть) |
| Автор: Mister U 27.3.2006, 17:31 |
| Всем спасибо! Разобрался. |