Другие языки программирования и технологии
Помогите решить задачу на си++
С клавиатуры вводится натуральное число, не содержащее нулей (отсутствие нулей в числе необходимо проверить). Напишите программу, которая выводит все числа, получающиеся из исходного с использованием левого циклического сдвига цифр числа. Например, если введено число 123, то будут выведены: само число 123, а также, 231 и 312.
#include <iostream>
#include <cmath>
bool havezero(unsigned n) {
bool r = false;
do {
if ( (n % 10) == 0 ) {
r = true;
break;
}
n /= 10;
} while (n);
return r;
}
int main() {
std::cout << "n? ";
unsigned n;
std::cin >> n;
if ( havezero(n) ) {
std::cout << "input error\n";
} else {
int c = log10(n);
int d = pow(10, c);
std::cout << n << std::endl;
for (int i = 0; i < c; ++i) {
n = n % d * 10 + n / d;
std::cout << n << std::endl;
}
}
}
#include <cmath>
bool havezero(unsigned n) {
bool r = false;
do {
if ( (n % 10) == 0 ) {
r = true;
break;
}
n /= 10;
} while (n);
return r;
}
int main() {
std::cout << "n? ";
unsigned n;
std::cin >> n;
if ( havezero(n) ) {
std::cout << "input error\n";
} else {
int c = log10(n);
int d = pow(10, c);
std::cout << n << std::endl;
for (int i = 0; i < c; ++i) {
n = n % d * 10 + n / d;
std::cout << n << std::endl;
}
}
}
#include <iostream>
#include <locale>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cstdlib>
int main()
{
setlocale(LC_ALL, "");
int i;
std::cin >> i;
std::vector<int> v;
for (; i; i/= 10)
{
int n = i % 10;
if (!n)
{
std::cerr << "null" << std::endl;
return EXIT_FAILURE;
}
v.push_back(n);
}
std::sort(v.begin(), v.end());
do
{
typedef std::ostream_iterator<int> O;
std::copy(v.begin(), v.end(), O(std::cout, " "));
std::cout << std::endl;
} while (std::next_permutation(v.begin(), v.end()));
return EXIT_SUCCESS;
}
#include <locale>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cstdlib>
int main()
{
setlocale(LC_ALL, "");
int i;
std::cin >> i;
std::vector<int> v;
for (; i; i/= 10)
{
int n = i % 10;
if (!n)
{
std::cerr << "null" << std::endl;
return EXIT_FAILURE;
}
v.push_back(n);
}
std::sort(v.begin(), v.end());
do
{
typedef std::ostream_iterator<int> O;
std::copy(v.begin(), v.end(), O(std::cout, " "));
std::cout << std::endl;
} while (std::next_permutation(v.begin(), v.end()));
return EXIT_SUCCESS;
}
// DDD.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
//Функция которая все далет
void DoIt();
int _tmain(int argc, _TCHAR* argv[])
{
static char ansBuf[256];
//Делаем наше все пока не надоест
do
{
DoIt();
std::cout<<"Continue? y/n ";
std::cin>>ansBuf;
}
while(strcmp(ansBuf,"y") ==0 || strcmp(ansBuf,"Y") == 0);
return 0;
}
void DoIt()
{
static char buf[1024];
int len;
//Вводим наше число
std::cout<<"Input number:";
std::cin>>buf;
//запоминаем длинну строки
len = strlen(buf);
//проверяем не пустая ли это строка
if(len < 1)
{
std::cout<<"Input not empty string";
return;
}
//Проверяем что это натуральное число и что оно не содержит нулей
for(int i = 0; i < len ; ++i)
{
if(buf < '1' || buf > '9')
{
std::cout<<"string can't contain symbol "<<buf<i>;
return;
}
}
//Выводим все возможные сдвиги
for(int k = 0; k < len ; k++)
{
std::cout<<"#"<
//
#include "stdafx.h"
#include <iostream>
//Функция которая все далет
void DoIt();
int _tmain(int argc, _TCHAR* argv[])
{
static char ansBuf[256];
//Делаем наше все пока не надоест
do
{
DoIt();
std::cout<<"Continue? y/n ";
std::cin>>ansBuf;
}
while(strcmp(ansBuf,"y") ==0 || strcmp(ansBuf,"Y") == 0);
return 0;
}
void DoIt()
{
static char buf[1024];
int len;
//Вводим наше число
std::cout<<"Input number:";
std::cin>>buf;
//запоминаем длинну строки
len = strlen(buf);
//проверяем не пустая ли это строка
if(len < 1)
{
std::cout<<"Input not empty string";
return;
}
//Проверяем что это натуральное число и что оно не содержит нулей
for(int i = 0; i < len ; ++i)
{
if(buf < '1' || buf > '9')
{
std::cout<<"string can't contain symbol "<<buf<i>;
return;
}
}
//Выводим все возможные сдвиги
for(int k = 0; k < len ; k++)
{
std::cout<<"#"<
Похожие вопросы
- Помогите решить задачи на Си! Пожалуйста!!!
- ПОМОГИТЕ РЕШИТЬ задачи по Си
- помогите решить задачу по Си
- помогите решить задачи по Си. 2 неделю с ними бьюсь. выкладываю свое решение. скажите просто что не правильно
- Помогите с задаче в СИ
- Помогите решить задачу на Турбо паскале
- помогите пожалуста решить задачу на СИ++..
- Помогите решить задачу.
- Помогите решить задачу на программирование!
- Народ, слезно прошу помочь решить задачу по информатике (програмирование), я просто ноль в этом(((