Пропуски в данных - вопрос №192158

Здравствуйте. Я учусь на факультете прикладной математики и информатики, 4 курс. Тема моей бакалаврской работы — восстановление пропусков в данных. Скажите, пожалуйста, как можно считывать null-значения из файла в вещественный массив? Как вообще можно создать массив с пропусками?

30.01.12
1 ответ

Ответы

Вам надо очень хорошо определиться с понятием «пропуска» — что хотят от Вас преподаватели читающие курс? для того что бы передать это понимание сюда )))

если пропуск данных — это потеря значения, то реально она скорее всего возникает при сбое — считывании из файла или иного канала передачи информации. очередное значение считываеся с каким либо признаком ошибки — есть знание о том что величина должна быть, а вот знания самой величины нет. что и фиксируется в массиве данных каким либо предусмотренным образом. каким же?

в такой ситуации просто нулевое значение — это совершенно правомерное значение и для вещественных величин тем более, другой вопрос как вы его интерпретуруете

null — это всего лишь 0, та же самая математическая величина, он интепретируется как указание на «отсутствие» только тогда, когда это указатель имеющий нулевое значение

Вам нужно придерживаться каких иных то соглашений о типах данных и вкладываемом смысле

если Вы собираетесь использовать просто массивы и файлы вещественнх чисел — в C/C++ у Вас возможно не остается способа отличить значение 0 от ситуации отсутствия значения

самый надежный способ — описать класс (или структуру) имеющий вещественное поле value и булевское поле actual явно указывающее является ли значение этого поля актуальным (true). ну и использовать массывы таких типов, а в файл записывать и считывать соответсвенно пары таких значений — велична и актуальность. в случае когда actual=false значение value игнорируется не взирая на то что там записано — то есть считается потеряным

(имена полей можете выбрать более подходящие к Вашему контексту, но общий смысл именно такой)

тогда Вы може строить любые алгоритмы оперирущие любыми возможными вещественными значениями а так же дополнительным признаком актуальности или же утраченности этого значения

(это не единственный подход к решению задачи, но самый рациональный с точки зрения очевидности алгоритмов)

если же под «пропуском» от Вас требуют пониманеи чего то иного — вероятно Вам придется это «другое» понять раньше консультанта ;)))

30.01.12
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store