[ 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. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    A **buff;
    buff = mass;
     
  2. Sifon110

    Sifon110 New Member

    Joined:
    13 Mar 2011
    Messages:
    34
    Likes Received:
    1
    Reputations:
    0
    Ого как все просто :) . Спасибо.
     
    1 person likes this.
  3. xelario

    xelario Member

    Joined:
    7 Aug 2013
    Messages:
    88
    Likes Received:
    37
    Reputations:
    0
    Народ,можете объяснить два вопроса:
    1) логику арифметических операции в двоичной системе счисления (т.е. почему 1 + 1 = 10 ит.д) непонятно про старший разряд ?
    2) И для чего используется ХОR в С++?
    З.Ы. читаю книгу Шилдта и возникли вопросы
     
    #7703 xelario, 30 Sep 2013
    Last edited: 30 Sep 2013
  4. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    http://ru.wikipedia.org/wiki/Двоичная_система
    http://ru.wikipedia.org/wiki/Xor

    http://en.wikipedia.org/wiki/XOR_swap_algorithm
    http://en.wikipedia.org/wiki/XOR_cipher
     
    _________________________
  5. LocKeD132

    LocKeD132 New Member

    Joined:
    27 Nov 2011
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    Нужно составить функцию для умножения двух полиномов. Коэффициенты полиномов 0, 1. При сложении полиномов использовать операцию сложения по модулю два.
    Как я понял "Коэффициенты полиномов 0, 1." означает, что все коэффициенты полинома могут принимать одно из двух значений – 0 или 1, так как для выполнения операций сложения и вычитания используется сложение по модулю 2,
    то и все промежуточные полиномы, и результат – тоже полином с коэффициентами 0, 1.
    А вот как реализовать понятия не имею. Нужно сделать на С.
    Need help
     
  6. iKNG

    iKNG New Member

    Joined:
    23 Jan 2013
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    [C++]
    Как сделать так, чтобы пользователь мог вводить через cin только определенный тип данных. Например:
    Code:
    #include <iostream>
    using namespace std;
    int main () {
    	cout << "Your number:\n";
    	int a;
    	cin >> a;
    	cout << "\n\n";
    	main();
    	return 0;
    }
    Если ввести число, то программа опять выдаст то же слово и заставит еще раз вводить число. Если ввести символ, то программа начинает хаотично отображать "Your number:". Как сделать так, чтобы при вводе чего-либо кроме цифры, отображалась ошибка и программа спокойно продолжалась?
     
  7. Dragon71421

    Dragon71421 New Member

    Joined:
    10 Oct 2012
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Можно считывать посимвольно и проверять, но лучше обработать как исключение, если сможешь.
     
  8. iKNG

    iKNG New Member

    Joined:
    23 Jan 2013
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Не понял
     
  9. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    как то так можна
    Code:
    #include <iostream>
    
    int main()
    {
    	int a = 0;
    
    	std::cin >> a;
    
    	if (std::cin.rdstate() && std::ios::failbit)
    	{
    		std::cin.clear();
    		std::cin.ignore(std::cin.rdbuf()->in_avail());
    		std::cout << "fail\n";
    	}
    
    	return 0;
    }
    
     
  10. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Я смотрю, ты последние три-четыре года время зря не терял, поднатаскался в С++.
     
  11. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    Вопрос по c++/c. Выделяется ли память при обьявлении не инициализированной переменной ?

    Code:
    int i; //выделяются ли 4 байта ?
    
     
  12. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Да, выделяется. Но обнуляется она или нет - зависит от места, в котором выделяется память.
     
  13. neviens

    neviens Member

    Joined:
    9 Oct 2013
    Messages:
    82
    Likes Received:
    28
    Reputations:
    3
    >DeepBlue7 Если включена оптимизация у компилятора, то не всегда.
     
  14. iKNG

    iKNG New Member

    Joined:
    23 Jan 2013
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    По поводу WinForms в C++.
    Как узнать в обработчике события, из какого элемента (текстбокса) оно поступило? То есть, у меня есть 1 обработчик события (KeyPress), который разрешает вводить только числа и 2 текстбокса, подключенных к нему. В коде обработчика требуется узнать, в каком именно текстбоксе нажали клавишу. Пробовал через 1 аргумент обработчика - sender. (...if (sender->Text == "")...). Пишет, что "Error: class System::Object не содержит члена Text". Помогите. Разделять на 2 обработчика не хочется, так как понизится эффективность, а я как раз на ней делаю больший акцент.
     
  15. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    с++. Подскажите, в чем дело.

    Code:
    
    #pragma once
    #include <Windows.h>
    #include <iostream>
    class utils
    {
    public:
    	//wtf wrong with this?
    	static char* dump_bytes(BYTE* bpArr, int nIndex, int nCount)
    	{
    		//4096
    		char buffer[0x1000];
    		char tmp[0x25];
    
    		for(int i = nIndex; i < nIndex + nCount; i++)
    		{
    			if(i == nIndex) 
    			{
    				sprintf(tmp, "{ 0x%x, ", bpArr[i]);
    			}
    			else if(i == (nIndex + nCount) - 1) 
    			{
    				sprintf(tmp, " 0x%x }", bpArr[i]);
    			}
    			else
    			{
    				sprintf(tmp, "0x%x, ", bpArr[i]);
    			}
    			strcat(buffer, tmp);
    		}
    		return buffer;
    	}
    };
    
    вызываю

    Code:
    BYTE test[4] = { 0x04, 0x03, 0x02, 0x01 };
    std::cout << utils::dump_bytes(test, 0, 4);
    
    Ругается на bpArray (invalid pointer и вся хня). В чём может быть дело?
     
  16. neviens

    neviens Member

    Joined:
    9 Oct 2013
    Messages:
    82
    Likes Received:
    28
    Reputations:
    3
    Code:
    #pragma once
    #include <Windows.h>
    #include <iostream>
    class utils
    {
    public:
    	//wtf wrong with this?
    	static char* dump_bytes(BYTE* bpArr, int nIndex, int nCount, char* buffer)
    	{
    		//4096
    //		char buffer[0x1000];
    		char tmp[0x25];
    
    		for(int i = nIndex; i < nIndex + nCount; i++)
    		{
    			if(i == nIndex) 
    			{
    				sprintf(tmp, "{ 0x%x, ", bpArr[i]);
    			}
    			else if(i == (nIndex + nCount) - 1) 
    			{
    				sprintf(tmp, " 0x%x }", bpArr[i]);
    			}
    			else
    			{
    				sprintf(tmp, "0x%x, ", bpArr[i]);
    			}
    			strcat(buffer, tmp);
    		}
    		return buffer;
    	}
    };
    
    int main()
    {
    	char buffer[0x1000];
    	BYTE test[4] = { 0x04, 0x03, 0x02, 0x01 };
    	utils::dump_bytes(test, 0, 4, buffer);
    	std::cout << buffer; 
    	return 0;
    }
     
  17. iKNG

    iKNG New Member

    Joined:
    23 Jan 2013
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    А что насчет автоматического переноса строк в WinForms (C++)? И автоматического размера элементов под размер окна?
     
  18. Docker07

    Docker07 New Member

    Joined:
    21 Sep 2013
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    привет
    подскажите пожалуйста)
    купил книгу Герберт Шилдт, самоучитель С++ шаг за шагом..
    там первая программа...вот...
    Code:
    /*
      Это простая С++ программа.
      Назовите Sample.cpp.
    /*
    #include <iostream>
    using namespace std;
    // C++-программа начинает свое выполнение с функции main().
    int main()
    {
    count << "C++ является мощным программным средством.";
    return 0;
    }
    
    нажимаю запуск-
    и тут у меня такая ошибка(((
    [C++ Error] Unit1.cpp(29): E2186 Unexpected end of file in comment started on line 17
     
  19. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    /* многострочные комментарии открываются так,

    а закрываются вот так */
     
  20. Sifon110

    Sifon110 New Member

    Joined:
    13 Mar 2011
    Messages:
    34
    Likes Received:
    1
    Reputations:
    0
    Здравствуйте.

    Создаю динамический массив из 4-ех элементов:

    int *a = new int[4];

    Суть в том, что вдруг при выполнении программы, оказалось, что 4 элементов не хватает и нужно добавить 5-ый. Так вот вопрос, подскажите пожалуйста, как к этому массиву прилепить 5-ый элемент, чтобы значения в предыдущих 4-ех не стерлись, а 5-ый элемент оказался с ними в связи.
     
Thread Status:
Not open for further replies.