/* * File: lab72.cpp * Author: smacker * * Created on 12 Апрель 2009 г., 16:50 */ #include #include #include #include #include using namespace std; // Всё можно сделать гораздо проще используя itoa(), но это не стандартная функция // правда она присутствует в большинстве компиляторов, так что всё работало бы // но это НЕ ПРАВОСЛАВНО! Поэтому извращаемся и трахаем себе мозг))) int int_to_str(char *buffer, int value) { int n; n = sprintf(buffer, "%d", value); // делаем строку buffer[n] = '\0'; // и добавляем null в конец return n; // возвращаем колличество символов в строке } int from2to10(char* str, int lenght) { int result = 0; int j = lenght; for(int i = 0; i 3) { rest = value % 3; value = value/3; str[i] = '0' + rest; // преобразуем из числа в символ i += 1; } if (value != 0){ str[i] = '0' + value; i += 1; } reverse(str, i); str[i] = '\0'; return atoi(str); // возвращаем рещультат функции строки в число } int from10to3(char* svalue) { int value = atoi(svalue); return from10to3(value); } int convert(int numargs, ...) // первый аргумент число = колличество аргументов { // ... означает что может быть сколько угодно аргументов int i; va_list list1; // создаём список значение-аргумент va_start(list1, numargs); // юзаем стартовый макрос for (int j=0; j