[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. VIP

    VIP Elder - Старейшина

    Joined:
    29 Dec 2004
    Messages:
    104
    Likes Received:
    3
    Reputations:
    0
    Доброго времени суток! =)

    У меня к вам очередной новичковский вопрос:

    Почему вот в этой программе:

    Code:
    # include <stdio.h>
    # include <math.h>
    
    int main() {
        float e, sum1, E1;
        int i, stop1;
        printf("Enter e, please:");
        scanf("%f", &e);
        i=1;
        sum1=0;
        stop1=0;
        printf("%f\n %f\n %f\n %f\n ", e, i, sum1, stop1);
    }
    
    При исполнении проги переменная i=0 ?

    Ведь ясно указано, что i=5 ?

    P.S. Эта программа не должна исполнять ничего конкретного, т.к. это кусок из другой проги.
     
  2. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    интересно)))
     
  3. VIP

    VIP Elder - Старейшина

    Joined:
    29 Dec 2004
    Messages:
    104
    Likes Received:
    3
    Reputations:
    0
    Вот, что он мне выдаёт:

    Enter e, please: [ввожу] 0.01 [ Нажимаю Enter]
    [пишет]
    0.0100000
    0.0000000
    0.0000000
    7725920506557334100000...(очень много нулей)...000.0000000

    Также непонятно почему вдруг последняя переменная из нуля превратилась в 7725920506557334100000...(очень много нулей)...000.0000000
     
  4. SVAROG

    SVAROG Elder - Старейшина

    Joined:
    13 Feb 2007
    Messages:
    424
    Likes Received:
    86
    Reputations:
    -1
    Enter e, please:0.01
    0.010000
    0.000000
    0.000000
    0.000000
    Press any key to continue . . .
    у тебя мистика прям какаято, у меня как видишь всё нормально
     
  5. Namelles One

    Namelles One Elder - Старейшина

    Joined:
    8 Jul 2005
    Messages:
    43
    Likes Received:
    14
    Reputations:
    19
    Да потому что ты переменную типа int выводишь с идентивикатором %f - типа float, а размер у float другой, вот и выводится хрень всякая.

    Так верно -
    PHP:
     printf("%f\n %d\n %f\n %d\n "eisum1stop1); 
     
    #1965 Namelles One, 2 Dec 2008
    Last edited: 2 Dec 2008
  6. noobyara

    noobyara Member

    Joined:
    27 Jan 2008
    Messages:
    13
    Likes Received:
    8
    Reputations:
    0
    почему для типа int используешь %f? будь добр использовать %d) вообще тебе сюда http://msdn.microsoft.com/ru-ru/library/56e442dc.aspx
    заодно и узнаешь как количество "нулей" урезать)
     
  7. UnPazz

    UnPazz Elder - Старейшина

    Joined:
    30 Aug 2008
    Messages:
    95
    Likes Received:
    43
    Reputations:
    6
    to VIP :
    тип integer выводим через %d - целое число
    тип float выводим через %f - число с плавающей точкой

    типы данных учи
     
  8. serfertty

    serfertty Guest

    Reputations:
    0
    [​IMG]
    НУжно принять данные из форм и соедениться с мускулом язык C++.NET есть готовые решения кто-нибудь может подать идею?
     
  9. noobyara

    noobyara Member

    Joined:
    27 Jan 2008
    Messages:
    13
    Likes Received:
    8
    Reputations:
    0
    http://dev.mysql.com/downloads/connector/net/5.2.html
     
  10. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Подкиньте плиз линки/доки/маны/статьи про директивы препроцессора, конкретно про #pragma. На русском =)
     
  11. Neoveneficus

    Neoveneficus Elder - Старейшина

    Joined:
    10 Apr 2008
    Messages:
    235
    Likes Received:
    126
    Reputations:
    23
    посмори тут
    http://www.math.rsu.ru/mexmat/mathmodel/files/nka/CPP/CPP-08.pdf
     
  12. jawbreaker

    jawbreaker Elder - Старейшина

    Joined:
    7 Jul 2008
    Messages:
    156
    Likes Received:
    76
    Reputations:
    3
    criz
    http://msdn.microsoft.com/ru-ru/library/e54ke6de.aspx
    http://netcode.ru/cpp/?lang=&katID=6&skatID=49&artID=2314
     
  13. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Neoveneficus, jawbreaker, спасибо за ссылки... только вот, что-то скромно написаны...мало =)
    Вот, например, я не нашел нигде описание:
    Code:
    #pragma comment(linker,"/MERGE:.rdata=.text")
    а может и пропустил...
     
    1 person likes this.
  14. n4e/\@

    n4e/\@ Elder - Старейшина

    Joined:
    6 May 2008
    Messages:
    138
    Likes Received:
    17
    Reputations:
    0
    А упорядоченное дерево так выглядит?
    Code:
                    2
                  /   \
                 1     8
                / \    / \
               0   0 5  10
                     / \   /\
                    3  5 9 0                 
    
    0-это пусто
    
    Просто я раньше представлял себе это как то так:
    Code:
                    1
                  /   \
                 2     3
                / \    / \
               5   5 8  9
                     / \   /\
                    10 00  0               
    
    0-это пусто
    
    а сейчас начал читать про деревья, выходит что первый вариант это и есть упорядоченное дерево, я прав?
     
  15. jawbreaker

    jawbreaker Elder - Старейшина

    Joined:
    7 Jul 2008
    Messages:
    156
    Likes Received:
    76
    Reputations:
    3
    Обычно бинарное дерево должно быть упорядочено таким образом, чтобы любой элемент в левом поддереве был меньше, чем значение корня, а любой элемент в правом поддереве — больше, так что да, ты прав. В принципе понятно что так и должно быть если представить себе двоичное дерево поиска - пусть надо проверить, есть ли узел с ключом K в дереве Т, и если да, то вернуть ссылку на этот узел.

    Алгоритм:

    * Если дерево пусто, сообщить, что узел не найден, и остановиться.
    * Иначе сравнить K со значением ключа корневого узла X.
    - Если K=X, выдать ссылку на этот узел и остановиться.
    - Если K>X, рекурсивно искать ключ K в правом поддереве Т.
    - Если K<X, рекурсивно искать ключ K в левом поддереве Т.
     
    #1975 jawbreaker, 4 Dec 2008
    Last edited: 4 Dec 2008
    1 person likes this.
  16. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Скрытый запуск

    Тут такое дело...вобщем, я из своей проги с помощью system() запускаю другое приложение, конольное. Свою прогу я скрыл, FreeConsole(). Но вот, запущенная прога не прячется, появляется окошко консоли C:\Windows\system32\cmd.exe. Как его спрятать?
     
  17. NetSter

    NetSter Moderator

    Joined:
    30 Jul 2007
    Messages:
    810
    Likes Received:
    414
    Reputations:
    62
    можно попробовать программно найти окно запущеной проги которую хочешь спрятать а потом поиграться с ним.. на делфи поиск окна выглядет так:
    http://www.bdelphi.narod.ru/faq.htm#18
    а вот как его спрятать... самому стало интересно)
     
    _________________________
  18. ToniKapuchon

    ToniKapuchon Elder - Старейшина

    Joined:
    26 Feb 2006
    Messages:
    153
    Likes Received:
    45
    Reputations:
    -1
    ShowWindow(hWnd,SW_HIDE);
     
  19. Delimiter

    Delimiter Banned

    Joined:
    8 Apr 2005
    Messages:
    317
    Likes Received:
    173
    Reputations:
    12
    2 criz
    используй
    ...
    sInfo.wShowWindow=SW_HIDE;
    ...
    CreateProcess(NULL, CmdPath, &secu, &secu, TRUE, 0, NULL, NULL, &sInfo, &pInfo);

    и будет тибе счасте!

    Но спрятать мало... я думаю ты сокеты там подцепил в стандартный ввод и вывод... и сделал это без пайпов?????? :D
     
    #1979 Delimiter, 7 Dec 2008
    Last edited: 7 Dec 2008
  20. criz

    criz Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    Delimiter, не-не. Никаких сокетов :) На этот раз все без них =)
    Всем спасибо, будем пробовать.
    З.Ы. и как я мог забыть про createprocess *WALL*
     
Thread Status:
Not open for further replies.