Мне стало интересно, не уж то в гугле нету об этом информации, ну не моет ведь такого быть, когда я в свое время искал такую функцию - нашёл за пару минут использую поисковик. С того времени ничего не изменилось: Тыц1 Развернутый Тыц2
Можно попробовать так: Code: std::wcout.imbue(std::locale(".866")); std::wcout << L"русский текст"; Еще можно попробовать это Code: SetConsoleOutputCP(1251); std::cout << "Русский текст";
спс тебе конечно но к сожалению в момент когда я прочитал твой ответ, я уже проблему решил) остался вопрос про "Интерактивность" и "прилипание".
\\ChaOs//, на wcout.imbue .. отвечает ошибкой "Illegal byte sequence".. SetConsoleOutputCp пробовал давно, не переводит в хп нечего..
Ну может wcout.imbue(locale("rus_rus.866")) срабоает. ХР под рукой нет, проверить не могу. Вообще что точно сработает, так это исходник сохранить в кодировке 866
Подскажите пожалуйста что нибудь на счет консольной графики, ну там рисовать линии, перерыл инэт и толком вразумительного не нашёл, есть какие нибудь источники или книги по этой части?
Спасибо конечно) но я такое не осилю, раньше не сталкивался консольной графой.. есть книги или статьи по этому поводу..?
Есть некий класс с публичной переменной rost типа double. Так вот как мне написать ф-цию, чтобы она складывала эту переменную только двух разных объектов этого класса?
Создаеш функц. Примерно так. Code: #include <iostream> class Test { public: int Param; //Поле типа int для хранения параметра для сложения int slojenie (Test *param); //Функц. для сложения }; int Test::slojenie (Test *param) { return Param + param->Param; //Складываем значение поля Param с значением поля переданого обьекта } int main() { Test on, two; //Обьявляем обьекты on.Param = 2; //Задаем значения two.Param = 3; std::cout<< on.slojenie(&two) << "\n"; //Складываем и выводим рез. return 0; } gcc норм компилит, пример бредовый но работает.
Народ, как разбить число на символы в массив? Допустим число 123456789 Разбить на массив по 1-му числу ... mass[0]=1; mass[1]=2; ... и т.д .. Без использования типа char, так как нужна дальнейшая операция с числами
Хз как в Си, но в Масм это вроде будет так: .data i dword 1,2,3,4,5,6,7,8,9 .code mov esi,4 ;Размер дворда - 4 байта mov edx,dword ptr [i+esi] ;помещаем в регистр второе значение , т.е. если адрес единицы будет переменная i, то адрес двойки - адрес в памяти переменной i +4 байта, и так далее. или можно mov edx,i[esi] - более просто, как массив обычный выглядит Может в Си есть что-то подобное по аналогии? Я просто не знаю Си. Извините, что влезаю
Cпасибо, но не подойдет) Тем более что за ранее количество цифр не известно, вот и стоит вопрос в том как каждую цифру в массив засунуть..)
Ну во первых, вот весьма занимательная статейка Здесь рассказывается о преобразовании строки в число и обратном действии и причем весьма подробно. Без конвертации из одного типа в другой - никак не обойтись, если уж ты хочешь писать и хранить число в массиве. char string[] = "123456789"; Дальше уж вызывай индекс массива и получай свое число. Обязательно прочти статейку приведенную выше.
Спасибо) Полезная статья, вот ещё решение нашёл ( если нужно кому ): #include<iostream> #include<iomanip> using namespace std; int main () { const int n = 10; int mas[n]; //массив для хранения отделенных чисел int x, k = 0; cout << "Enter number: " << endl; cin >> x; for(int i = 0; i < n; i++) { mas = -1; // Убираем не используемые элементы массива } while(x > 0) { mas[k] = x%10; //в массив записываем отделенную последнюю цифру x = x/10; //введенное число уменьшаем k++; } for(int i = n-1; i >= 0; i--) { if(mas > -1) cout<<mas<< setw(6); } cin.get(); cin.get(); return 0; }