На пишите программу которая счывает число из пяти цифр, разделяет это число
на отдельные цифры и выводит эти цифры на печать, отделяя друг от друга тремя пробелами.
То есть мы вводим число 12345 программа должна вывести 1 2 3 4 5.
Заранее благодарен.
P.S. Решение на С++. Используя инструкцию if. И функции printf(), scanf().
Покопавшись в своих решениях, нашёл, эту задачу из книги Дейтелов, и как я её тогда решил, прочитав только первую и вторую главу.
Код:
// Задачи главы 1. Задача 1.36
// Пробел между цифрами
#include <iostream>
using namespace std;
int main()
{
int num1, tic,
num2, sot,
num3, dec,
num4, one;
cout<<" Enter Number Format - ####: ";
cin>>num1;
while(num1 != -1){
tic = num1 / 1000;
num2 = num1 % 1000;
sot = num2 / 100;
num3 = num2 % 100;
dec = num3 / 10;
num4 = num3 % 10;
one = num4 / 1;
cout<<" Resultat: "<<tic<<" "<<sot<<" "<<dec<<" "<<one<<endl;
cout<<"\n Enter Number: ";
cin>>num1;
}
return 0;
}
//---------------------------------------------------------------------------
Программа просит ввести четырёхзначное число и разбивает на числа через пробел, если вводить меньше четырёх или больше четырёх разрядов, выводимое решение будет неверно. Но это было решено уже позже, понадобились знания создания динамических массивов и вроде бы всё. Если интересно, поищу и приведу пример уже в понедельник.
P.S. Вместо printf\scanf лучше используй cout\cin проще на уровень. А результат тот же.
Программа просит ввести четырёхзначное число и разбивает на числа через пробел, если вводить меньше четырёх или больше четырёх разрядов, выводимое решение будет неверно. Но это было решено уже позже, понадобились знания создания динамических массивов и вроде бы всё. Если интересно, поищу и приведу пример уже в понедельник.
В принципе нашёл, но видимо запутался, без создания динамических массивов, для её написания, вполне достаточно двух глав 1 и 2 по книге Дейтелов. Что не ясно, спрашивай.
Код:
// Написать прогу, которая по заданному натуральному числу
// определяет количество цифр в нем и выводит их по одному через пробел.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
// Функция расчитывающая количество чисел во введённом числе...
// Пока число делится на 10
// увеличиваем счётчик считающий кол-во разрядов в числе
int Rasriad(int enterNumber)
{
int n = enterNumber, x = 0;
while(n != 0){
n /= 10;
x++;
}
return x;
}
int main()
{
int enterNumber, // сохраняем введённое число
lenght = 0, // сохраняем "длину" числа, кол-во разрядов: 1234567 = 7 чисел
indexRas, // последний запоминаемый разряд числа
decimal = 1, // делитель, "отрывающий" разряды числа, после каждого прохода, умножается на 10
z;
cout<<" Enter Number: "; // вводим число
cin>>enterNumber; // считываем число в переменную
// определяет количество цифр в нем.
lenght = Rasriad(enterNumber);
// Вычисляем максимальное число, которым мы начнём "отрывать" разряды у введённого числа
for(int j = 1; j < lenght; j++)
decimal *= 10;
cout<<" Number = "; // Выводим сообщение о начале вывода, информационный вывод
// Процесс "отрыва" разрядов и вывод через пробел
for(int i = 0; i < lenght; i++){
indexRas = enterNumber / decimal % 10; // Отрываем первый разряд в числе и сохраняем в переменной
decimal /= 10; // уменьшаем делитель для последующего разряда в числе
cout<<indexRas<<" "; // выводим через пробел
}
cin>>z;
return 0;
}
//---------------------------------------------------------------------------