Вот мой код, но я не знаю, что делать дальше... Как мне дописать этот код, не используя массивы, указатели, строки и тому подобное... Эта задача должна решаться как-то с помощью цикла.
#include <iostream>
#include <locale>
#include <cmath>
using namespace std;
int main()
{
setlocale(0, "rus");
int n, sum(0);
double i(0.0);
begin: cout << ("Введите натуральное число n: ") << endl;
cin >> n;
if (n < 0) goto begin;
int copy_n1 = n;
while (copy_n1 > 0)
{
copy_n1 /= 10;
++i;
}
int copy_n2 = n;
const int copy_i = i;
for (int k = 0; k < copy_i; ++k)
{
i -= 1.0;
double a = pow(10.0, i);
int y = copy_n2 % int(a);
/////// а дальше я не знаю, как делать
}
cout << sum << endl;
system("pause");
return 0;
}
Желательно использовать рекурсивную функцию. Для упрощения решения проблемы можно использовать строковое представление данных. Предлагаю вариант использования нерекурсивной функции, данную вещь можно просто в main использовать.
#include <iostream>
using namespace std;
int reverse_number(int number)
{
int n = 0;
while(number)
{
n = 10*n + number%10;
number /= 10;
}
return n;
}
int main()
cout << "input number: ";
int number;
cin >> number;
if (number == reverse_number(number))
cout << number << " This is palindrom" << endl;
else
cout << "NO " << endl;
return 0;
}
не забудь прописать setlocate и так далее.
не используй go to - усложняет восприятие кода и качество кода, посторайся обходится без него
Ну вот, например
#include <iostream>
#include <string>
using namespace std;
int main() {
setlocale(0, "rus");
cout << "Введите число: ";
string num, rnum;
getline(cin, num);
rnum = num;
_strrev(const_cast<char*>(rnum.c_str()));
cout << ((num == rnum) ? "Это палиндром!" : "Это не палиндром...");
return 0;
}
Вот вам вариант без строк. Могли бы и сами переделать, кстати - там легко разобраться, переделки чисто косметические.
#include <string>
#include <stdio.h>
int main() {
setlocale(0, "rus");
printf("Введите число: ");
char num[80], rnum[80];
gets_s(num, sizeof(num));
strcpy_s(rnum, sizeof(rnum), num);
_strrev(rnum);
printf(strcmp(num, rnum) == 0 ? "Это палиндром!" : "Это не палиндром...");
return 0;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не знаю как написать горячую клавишу, чтобы при нажатии определенной кнопки, когда пишешь код, вставлялся цикл, чтобы не прописывать его (тобишь...
Я установил NetBeans, MinGW, написал для теста код, он отказывается собиратьсяKод: