if(moda_min==i[zumzum+1]){
i[zumzum+1]
вы потенциально вылетаете за пределы массива. Users
располагается на C:
?%USERPROFILE%
, а не заниматься ручным склеиванием кусочков, как в вашем примере. В %USERPROFILE%
содержится полный путь к домашней директории текущего пользователя. От него и начинайте танцевать.+
широкие строковые литералы и узкую std::string
- бесполезное занятие. Почему вы смешиваете широкие и узкие строки в своем коде? Хотите работать с широкими строками - работайте с широкими строками. std::wstring
, а не std::string
. bool *
. Откуда вы вдруг взяли "указатель на void" - не ясно. New-expression никогда не возвращает "указатель на void".bool
. Именно это и используется в вашем примере.bool
является сужающим (narrowing). Это означает что оно, в частности, больше не будет выполняться неявно в контексте списковой инициализацииbool value1{ new bool(true) }; // Ошибка
pow
не объявлена. Язык С не разрешает вызов необъявленных функций. Даже если ваш компилятор умудрился это как-то скомпилировать, поведение все равно не определено. -pthread
(а не -lpthread
). Вам нужно не просто подключить библиотеку, а ещё и перевести компилятор в соответствующий "режим" для компиляции кода в условиях многопоточности. EOF
из getchar()
. Для того, чтобы создать ситуацию EOF при консольном вводе, вам нужно обратиться к документации на ваш терминал. Разные терминалы работают в этом отношении по-разному и их поведение может зависеть от их конфигурации.printf("%.0f\n", nc);
0177
в языке С++ - это восьмеричный целочисленный литерал, который имеет тип int
и положительное значение 127
- семь младших битов равны 1, а остальные (старшие) равны 0.n
, что делает ваш вопрос несколько бессмысленным (или полностью бессмысленным), но если предположить, что n
- это переменная некоего целочисленного типа, то в данном выражении операнды оператора &
будут неявно приведены к одному общему целочисленному типу (к одной ширине). Этот процесс называется usual arithmetic conversions (UAC). Если в процессе UAC придется расширить операнд 0177
, то он будет дополнен до требуемой ширины дополнительными нулевыми битами в старшей части.0177
по-прежнему будет представлять собой битовую "маску" из семи единичных битов в младшей части и нулевых битов в старшей части. Оператор &
в такой ситуации "сохранит" семь младших битов исходного значения n
и обнулит остальные биты. int main(void)
вместо int main()
float
вместо типа double
.wait
scanf("%s", wait);
никак не защищен от переполнения. И это при том, что буфер wait
имеет минимальный размер. Лучше scanf("%1s", wait);
. Разумеется, это не решит всех потенциальных проблем с некорректным вводом...if ( ( wait[0] == '/' && (num_1 == 0 && num_2 == 0) ) || ( wait[0] == '/' && (num_1 == 0 || num_2 == 0) ) )
- что это за странная двойная проверка одного и того же?goto
здесь совсем не уместно.