Задать вопрос
  • Как создать массив в Си, из n (переменная) элементов?

    @res2001
    Уверены, что это надо делать именно так?
  • Упражнение из книги Страуструпа. Программа про зерна риса и шахматную доску. Как все таки выполнить задание корректно?

    @res2001
    :)
    Оставь уже эту задачу. Хранить целое значение в вещественной переменной - это ... не правильно.
    Максимальное целое число, которое может хранится в double без потери точности - 2^53. Вычисляется просто - мантисса в double 52 бита, плюс еще один виртуальный младший бит по стандарту подразумевается всегда равным 1, итого 53 бита. 2^53+1 - уже не влезает. Можешь проверить с помощью программы, про которую я писал выше, или сам протестируй.
    Видимо, поэтому Страуструп и пишет, что в double не влезет, потому что 53 бита, а нужно 64. Но в том же 9 задании он пишет про "примерное количество", а не про "с точностью до зернышка". А примерное количество как раз и есть: ~1.8*10^308, а чтоб хранить это число нужно 1024 клетки, что с большим запасом перекрывает требования задачи.
    Про fixed я написал в том плане, что он влияет только на способ отображения информации, и что на количество отображаемых с помощью fixed цифр то же можно повлиять с - precision, т.е. он может и 20 значащих цифр отобразить. Поэтому в своих тестах установи precision в значение побольше и тогда уже тестируй. А то у тебя возможно накладывается еще и округление при выводе, т.к. значение по умолчанию для precision - 15 символов.
    И еще стандарт не гарантирует точность в 15 десятичных значащих цифр, т.к. описывает хранение двоичных данных, которые с десятичными цифрами имеют мало общего. 2^53 - имеет размер в 16 десятичных цифр. Но при этом 2^53+1 - так же 16 цифр, но уже округляется, т.к. в двоичной системе +1 добавляет еще один разряд, который уже в разрядную сетку не помещается. Видимо, поэтому, встречается упоминание про точность до 15 значащих цифр, хотя на самом деле почти в 10 раз больше.

    На самом деле я тебе с самого начала пытался сказать, что ты не правильным путем решаешь задачу - в лоб, нахождением в цикле степеней двойки с помощью умножения на 2. Ответ ты, конечно получишь правильный в итоге, но это как минимум не оптимально.
    Задача на самом деле решается достаточно просто. Как? Я описывал выше. Надо только понять, что в задаче используются числа - степени двойки, и вспомнить что в компе все хранится в двоичной системе счисления, а там как бы то же степени двойки имеют место быть. И не надо тут быть "олимпиадником".

    Переходи к другим задачам, не зацикливайся. Желаю удачи!
  • Как через CMD найти веб-сервер? mssql сервер?

    @res2001
    Виндовый telnet - убогое гавно.
    Для cmd можно сделать скрипт на VBS/JS в нем с помощью XMLHTTPRequest пытаться коннектиться к веб серверу.
    А вообще, если порт не известен - нужно сканировать все порты на каждой машине, а это очень не быстро. Для таких целей, возможно проще будет использовать nmap, вроде бы она умеет работать из ком.строки.
  • Упражнение из книги Страуструпа. Программа про зерна риса и шахматную доску. Как все таки выполнить задание корректно?

    @res2001
    На счет модификатора fixed - это не то что ты думаешь. Он просто говорит cout, что число надо выводить в фиксированном формате, а не в экспоненциальном. Кроме того 15 значащих цифр - это значение точности, которое то же можно менять:
    www.cplusplus.com/reference/ios/fixed
    www.cplusplus.com/reference/ios/ios_base/precision
    Экспериментируй.
  • Упражнение из книги Страуструпа. Программа про зерна риса и шахматную доску. Как все таки выполнить задание корректно?

    @res2001
    Да вопрос я не дочитал, много текста, решил сразу с алгоритмом разобарться.
    На счет double - почитайте перевод IEEE754: www.softelectro.ru/teoriy.html
    В числах с плавающей точкой не обойтись одной мантиссой, число всегда нормализуется, соответственно используется и экспонента. И делается это процессором, повлиять на это, думаю нельзя.
    Кстати, на том же сайте по ссылке выше есть программа, в которой можно посмотреть как выглядят числа в формате с плавающей точкой, так же она показывает разницу между исходным числом и тем, что хранится в double или float (приближенным его значением).
    Ну и кроме того, во втором задании в последнем предложении: "хранить их примерное количество в переменной типа double". Раз примерное количество, то это уже не только мантисса, значит нужно взять максимально возможное положительное число для double и плясать от него (~1.8*10^308), для такого количества риса потребуется 1024 клетки. Не понятно, почему Страуструп пишет, что double не может хранить содержимое 64 клеток. Может я что-то не догоняю в этой задаче.
    Ну и на последок - алгоритм с битовыми операциями можно заменить на log2(x) с округлением до целых.
  • Как через CMD найти веб-сервер? mssql сервер?

    @res2001
    qqqww121: osql -L или isql -L
    Нужно установить утилиты от SQL Server.
  • Как через CMD найти веб-сервер? mssql сервер?

    @res2001
    qqqww121: Согласен, правда не уверен что у SQLServer Browser можно поменять порт. Эта служба как раз и предназначена, чтоб сообщать другим на каком порту работает сам SQL Server, поэтому у нее должен быть один статический порт. Если она будет слушать на другом порту, то ее саму никто не найдет :-).
    Собственно MS SQL вообще может не использовать TCP/IP для работы. Поэтому и предложил другой вариант.
    Но конфигурация по умолчанию с использованием TCP/IP и включенным SQLBrowser на udp/1434.
  • Как через CMD найти веб-сервер? mssql сервер?

    @res2001
    Кроме того, если к компам есть админский доступ, то можно подключаться к каждому и смотреть запущенные процессы, на предмет наличия процесса sqlserv.exe. Все это можно делать с помощью wmic, в т.ч. удаленно.
  • Как писать переносимую консольную программу?

    @res2001
    std:setlocale тебе в помощь
    https://habrahabr.ru/post/164193/
    https://habrahabr.ru/post/107679/
    С кодировками не все просто. Например, для консольного приложения в Windows есть кодировка консоли; кодировка текста, возвращаемая/принимаемые системными функциями (например получаемые от ОС имена файлов, содержащие кирилические символы); кодировка строк в исходниках программы.
    Проще всего файлы программы всегда писать в UTF8 и программу собирать с поддержкой Unicode, тогда надо будет конвертировать только 2 кодировки Unicode и кодировку консоли. Причем кодировка консоли для русской винды может быть как 866 так и 1251. Все строковые литералы объявлять с префиксом L (L"текст"), для строк использовать тип wchar_t* или std::wstring.
    В никсах, на сколько я знаю, дело обстоит не лучше. В консоли своя кодировка, в графической оболочке своя, в файловой системе своя (причем в каждой ФС может быть своя собственная кодировка).
  • Архивирование записей из БД, через определённый промежуток времени. Как лучше сделать?

    @res2001
    При наличии индекса по полю с датой будет все работать быстро.
  • Упражнение из книги Страуструпа. Программа про зерна риса и шахматную доску. Как все таки выполнить задание корректно?

    @res2001
    Про double/float - это числа с плавающей точкой (дробные). Они представляют приближенное значение. До некоторых пор, пока хватает разрядной сетки представление точное, после - приближенное. Почитай статью на вики про числа с плавающей точкой.
  • Разработка десктоп клиента для БД. Чем, на чем?

    @res2001
    Это да, но стоит почитать лицензионное соглашение для Express версии, возможно вас не устроят ее ограничения.
  • Почему не устанавливается ни одна Windows на нетбук?

    @res2001
    Была аналогичная ситуация с обычным компом. То же БСОД при установке разных версий винды.
  • Как подружить FreeBSD и IDE HDD?

    @res2001
    Возьми старую версию - 7 попробуй.
    Если хочешь сделать фаервол/шлюз - то на третьем пеньке может значительно просесть производительность, т.е. он тупо не будет справляться.
    Сталкивался с этим. В моем случае был фаервол с кучей правил, возможно если фаер без наворотов, то работать будет быстрее.
  • 20-30 ПК Win - Лучший способ администрировать?

    @res2001
    Лучше, конечно АД, много проблем решит.
    Но можно и без нее:
    1.Всем пользователям урезать права до пользовательских
    2.завести на всех компах общую учетку админа с одинаковым паролем, для серверов лучше отдельного админа.
    3.включить везде удаленный рабочий стол
    4.включить службу удаленного реестра и удаленный WMI (открыть tcp/135)
    5.Если не выключен UAC (а лучше оставить его включенным) для ОС от Висты и дальше: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy=1 - позволяет удаленно выполнять административные задачи (https://support.microsoft.com/ru-ru/kb/951016), например полноценный доступ к админским шарам или удаленный запуск приложений с админскими привилегиями.
    С убунты админить винду не удобно (нет wmi, нет виндовой ком.строки и т.п.), проще всего будет удаленно подключаться к серверу и снего выполнять все что нужно.
    И осваивай cmd или ps и wmi, т.к. без АД для задач, которые надо будет производить на всех компах в сети, нужно будет делать скрипты.
  • 2 сервера, 1 IP. Ubuntu, как?

    @res2001
    У вас в локалке нет внетреннего ДНС сервера?
  • Чем отличается кластер от фермы?

    @res2001
    Владимир Дубровин: про муравьев и лошадей - хорошо получилось :)
  • Почему не работает интернет?

    @res2001
    Ничего толком на скриншоте не могу разобрать.
    Для борьбы с вирусами попробуйте: если есть какой-либо live диск, то загрузитесь с него или загрузитесь в безопасном режиме Windows.
    Почистите следующие каталоги: %TEMP%, "Temporary Internet Files" для каждого пользователя, c:\Windows\Temp.
    Внимательно посмотреть ветки реестра: HKLM\Software\Microsoft\Windows\CurrentVersion\Run и аналогичную для HKCU. Поудалять оттуда все что считаете не нужным. Есть риск что удалите загрузку каких-либо частей драйверов или чего-то подобного, но винда от этого не умрет и дрова всегда можно будет переставить. Внимательно смотрите что именно удаляете, например если там написано запускать программу из каталога c:\program files\intel то это скорее всего как раз что-то от интеловского драйвера, т.е. лучше оставить, и т.п.