Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2012, 11:52   #1
Chelovekpredel
Пользователь
 
Регистрация: 31.03.2012
Сообщений: 33
По умолчанию

Недавно начал изучать си, а именно по книжке Керниган, Ритчи - Язык программирования Си. После параграфа 3.6(цикл do-while) возникла проблема с задачей.
Вот и сама задача:
Напишите версию itoa с дополнительным третьим
аргументом, задающим минимальную ширину поля. При необходимости
преобразованное число должно слева дополняться пробелами.
функция itoa-перевод числа в строковую форму.
Просто как писать itoa я знаю, но с третьим аргументом я не врубаюсь. Прошу написать мне код этой задачи.
Заранее спасибо.

И желательно помочь еще с одной задачей:
При условии, что для представления чисел используется
дополнительный код, наша версия itoa не справляется с самым большим
по модулю отрицательным числом, значение которого равняется -(2 ),
где п - размер слова. Объясните, чем это вызвано. Модифицируйте
программу таким образом, чтобы она давала правильное значение
указанного числа независимо от машины, на которой выполняется.
Вот их версия:

Код:
/* itoa: преобразование п в строку s */
void itoa(int n, char s[])
{
int i, sign;
if ((sign = n) < 0) /* сохраняем знак */
n = -n; /* делаем n положительным */
i = 0;
do { /* генерируем цифры в обратном порядке */
s[i++] = n % 10 + '0'; /* следующая цифра */
} while ((n /= 10) > 0); /* исключить ее */
if (sign < 0)
s[i++] = '-';
s[i] = '\0';
reverse(s);
}

Последний раз редактировалось Stilet; 24.06.2012 в 12:03.
Chelovekpredel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с написанием программы. Си. Chelovekpredel Помощь студентам 13 10.06.2012 19:29
Проблема с написанием программы.. super3994 Общие вопросы C/C++ 1 16.11.2011 22:36
Проблема с написанием программы PashkaRus Помощь студентам 3 07.06.2011 11:44
Проблема с написанием программы в Паскале alexchromets Помощь студентам 0 27.02.2011 16:48