Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/107: Рейтинг темы: голосов - 107, средняя оценка - 4.53
1 / 1 / 3
Регистрация: 10.07.2014
Сообщений: 38

Вывод числа в столбик с первой цифры, без массива, без строк

28.07.2014, 20:15. Показов 20872. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <math.h>
using namespace std;
void p(long a)
{ 
long i=0,z=a;
    while (z)
    {
       z/=10;  
       i++; //êîëè÷åñòâî öèôð âî ââåäåííîì ÷èñëå 
    } 
    
    for (i;i>0;i--)
      {
        cout<<abs(a/(long (pow(10,i-1)))%10)<<endl; 
        }
    
}
int main(void)
{ 
     setlocale (0,""); long  n;
     cout<<"n="; cin>>n;
     p(n);
     system ("PAUSE");
}
подскажите , что у меня не правильно?

Добавлено через 1 минуту
задание: напишите процедуру, которая выводит на экран в столбик все цифры переданного ей числа, начиная с первой
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.07.2014, 20:15
Ответы с готовыми решениями:

Найти сумму первой и последней цифры в десятичной записи целого неотрицательного числа n (без использования строк)
Найти сумму первой и последней цифры в десятичной записи целого неотрицательного числа n (без использования строк).

Вывод числа в столбик (без использования строковых переменных)
Дано натуральное число N. Не используя строковые переменные, вывести в столбик это число. Для решения использовать функции целочисленного...

Нахождение первой цифры целого без знакового числа на ассемблере(в среде Visual Studio)
Дано натуральное число, не превышающее 100. Нужно найти его первую цифру. Ввод и вывод реализован на С++ #include &lt;iostream&gt; ...

23
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.07.2014, 23:38
Студворк — интернет-сервис помощи студентам
Mr.X, gcc 4.7.3 так же не ест код.
Code
1
2
test.cpp: In function ‘void print_number_in_column(T_int)’:
test.cpp:10:64: error: third operand to the conditional operator is of type ‘void’, but the second operand is neither a throw-expression nor of type ‘void’
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.07.2014, 23:45
Цитата Сообщение от Toshkarik Посмотреть сообщение
Mr.X, gcc 4.7.3 так же не ест код.
И вы с ним согласны?
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
28.07.2014, 23:49
Из-за приоритета операций.
C++
1
print_number_in_column( n / 10 ), abs(n % 10)
нужно взять в скобки. Иначе сначала вычисляется
C++
1
2
3
abs(n) < 10
                            ?   n
                            :   print_number_in_column( n / 10 )
и потом только abs.

Добавлено через 58 секунд
Цитата Сообщение от Mr.X Посмотреть сообщение
И вы с ним согласны?
А почему нет?
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
29.07.2014, 00:02
Цитата Сообщение от Toshkarik Посмотреть сообщение
Из-за приоритета операций.
Код C++
1
print_number_in_column( n / 10 ), abs(n % 10)
нужно взять в скобки. Иначе сначала вычисляется
Код C++
1
2
3
abs(n) < 10
? n
: print_number_in_column( n / 10 )
и потом только abs.
А, да, точно. Запятой не пользуюсь никогда, поэтому и лопухнулся. Погнался за сишной краткостью строк и заменил if тернарным оператором. Вот и последствия от злоупотреблений низкоуровневыми вычислениями.

Добавлено через 5 минут
По-человечески это так должно выглядеть:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/////////////////////////////////////////////////////////////////////////////////////////
//задание: напишите процедуру, которая выводит на экран в столбик все цифры переданного 
//ей числа, начиная с первой
/////////////////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
typedef long long   T_int;
/////////////////////////////////////////////////////////////////////////////////////////
void    print_number_in_column( T_int   n )
{
    if( abs(n) < 10 )
    {
        std::cout   <<  n;
    }
    else
    {
        print_number_in_column( n / 10 );
        std::cout   <<  abs(n % 10);
    }
    std::cout   <<  std::endl;
}
/////////////////////////////////////////////////////////////////////////////////////////
int     main()
{
    for(;;)
    {
        T_int   n   =   0;
        std::cout   <<  "n = ";
        std::cin    >>  n;
 
        print_number_in_column(n);
        std::cout   <<  std::endl;
    }//for
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2014, 00:02

Вывести в столбик цифры введённого числа, начиная с первой
Напишите программу, которая выводит в столбик цифры введённого числа, начиная с первой. Используйте процедуру. Входные данные ...

Вывести на экран в столбик все цифры переданного ей числа, начиная с первой. Процедуры
помогите пожалуйста. нужно написать процедуру, которая выводит на экран в столбик все цифры переданного ей числа, начиная с первой. ...

Напишите программу, которая вводит на экран в столбик все цифры числа, начиная с первой
1) напишите программу которая вводит на экран в столбик все цифры числа начиная с первой

Напишите процедуру, которая выводит на экран в столбик все цифры переданного ей числа, начиная с первой
Напишите процедуру, которая выводит на экран в столбик все цифры переданного ей числа, начиная с первой. Пример: Введите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru