powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / определение пустых числовых переменных
21 сообщений из 21, страница 1 из 1
определение пустых числовых переменных
    #38171469
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не думал, что возникнут с этим проблемы. как проверить, пустая числовая переменная или нет?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#include <conio.h>
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#pragma argsused
int main(int argc, char* argv[])
{float count=0;
float a,x;
do
{cout <<"Vvedite 4islo: ";
cin>> x;
//if (strlen(a)==0) a=x;
if (a==NULL) a=x;// непонятная фигня
if (x<a) a=x;
count++;
}
while(count<10);
cout <<a;
getch();
        return 0;
}

ввожу числа от 1 до 10. должно выводить наименьшее, т.е. 1, а выводит первоначальное значение переменной a, заданное системой
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171470
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что такое пустая числовая переменная ? Чем она от непустой отличается?
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171479
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer эта проверка компилируется но работает неправильно.
NULL имеет тип указателя и сравнивать его с float - некорректно.

Вообще С++ не поддерживает понятие NULL-овых атомарных типов.
Если ты объявил переменную то в ней всегда есть какое-то значение.
Оно может быть wild (дикое!), но оно есть.
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171492
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганельчто такое пустая числовая переменная ? Чем она от непустой отличается? "пустая" - переменная, которой я не успел присвоить какое-либо значение maytonЕсли ты объявил переменную то в ней всегда есть какое-то значение.да, очевидное решение: сначала присвоить переменной первое значение, а потом в цикле прогнать значения со 2 по 10. но вдруг заинтересовало. я знаю, как проверить пустую строку, объекты, а вот числа - хз
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171495
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewer"пустая" - переменная, которой я не успел присвоить какое-либо значениеПаганельЧем она от непустой отличается?
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171498
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,

Qlewer"пустая" - переменная, которой я НЕ успел присвоить какое-либо значениесоответственно, "непустая" - переменная, которой я присвоил какое-то значение. к чему эти вопросы?
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171504
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QlewerПаганель,

Qlewer"пустая" - переменная, которой я НЕ успел присвоить какое-либо значениесоответственно, "непустая" - переменная, которой я присвоил какое-то значение. к чему эти вопросы?к тому, что число 1, которое Вы присвоили, ничем не хуже числа 223322, которое там случайно могло оказаться как мусор
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171510
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,

число 223322 туда как-то должно было попасть. соответственно, я его вводил. а значит, переменная уже "непустая"("недикая"). вообще, всё это офтоп
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171514
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerчисло 223322 туда как-то должно было попастьну как
память выделена, но не проинициализирована
значит мусор
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171520
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганельпамять выделена, но не проинициализирована я думал, память выделяется "пустой", "чистой", и есть стандартный способ "проверить на пустоту" переменную. хм. так что нужно делать?
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171523
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
QlewerПаганельпамять выделена, но не проинициализирована я думал, память выделяется "пустой", "чистой"нет
выделено допустим 4 байта
чего там в тех байтах - хз
какие-то случайные нолики и единички
пока не проинициализируете

где-то читал, что под дебагом там будет ноль, но я на это никогда не надеюсь
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171529
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,

это равносильно тому, что присвоить 0 этой переменной. тогда при вводе отрицательных чисел в задаче в первом сообщении она будет решаться неверно
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171534
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerэто равносильно тому, что присвоить 0 этой переменной. тогда при вводе отрицательных чисел в задаче в первом сообщении она будет решаться неверночто такое NULL ?
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171545
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель,

вообще не в курсе. вбил в гугл "C++ проверить что х не пустое", нашёл какой-то код, вставил в прогу
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171548
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerвообще не в курсену у Вас же среда разработки в руках
жмакните правой педалью на слове NULL и выберите Go To Definition
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171590
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будь прокляты ноутбучные клавиатуры!
Qlewer"непустая" - переменная, которой я присвоил какое-то значение.

Вот тебе и ответ: присвоил ты переменной значение - она непустая. Не присвоил - пустая. Ты
же, когда программу пишешь, представляешь себе в каком порядке она будет исполняться. А
значит знаешь и когда переменная получит значение.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171593
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Qlewerда, очевидное решение: сначала присвоить переменной первое значение, а потом в цикле прогнать значения со 2 по 10. но вдруг заинтересовало. я знаю, как проверить пустую строку, объекты, а вот числа - хз я раньше так и делал
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171600
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerя раньше так и делал
И это - единственно возможный путь. Так уж работают современные компьютеры, видишь ли...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171624
Фотография Qlewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

понятно. всем большое спасибо ;)
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171632
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovQlewerя раньше так и делал
И это - единственно возможный путь. Так уж работают современные компьютеры, видишь ли...
Ну почему же? Это не только не единственный, но и неправильный путь. Если проверять на "сохранилось ли в переменной начальное значение", то ты не сможешь отличить "да, сохранилось" от "нет, ползователь ввел новое значение совпадающее с начальным".

Правильный путь это проверять результат операции "присвоения". У первом топике Qlewer использует cin>> для ввода числа, отсюда и пляшем: открываем документацию на cin, узнаем что cin это потомок istream, октрываем оператор >> и читаем что он возвращает:
http://www.cplusplus.com/reference/istream/istream/operator%3E%3E/ Return Value
The object itself (*this).
When a value is being "extracted" it is not returned, but directly stored in the variable used as parameter.

Errors are signaled by modifying the internal state flags:

flag erroreofbit The end of the source of characters is reached during its operations.failbit The input obtained could not be interpreted as an element of the appropriate type. Notice that some eofbit cases will also set failbit.badbit An error other than the above happened.(see ios_base::iostate for more info on these)

Additionally, in any of these cases, if the appropriate flag has been set with member function ios::exceptions, an exception of type ios_base::failure is thrown.

И тогда ты будешь точно знать ввел пользователь фигню или что-то полезное в ответ на "Vvedite 4islo: ".
...
Рейтинг: 0 / 0
определение пустых числовых переменных
    #38171662
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Qlewerя думал, память выделяется "пустой", "чистой", и есть стандартный способ "проверить на пустоту"
в x86 архитектуре такого нет, бывает только в архитектурах с тэгированой памятью (Эльбрус классический, например)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / определение пустых числовых переменных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]