Форум программистов, компьютерный форум CyberForum.ru

Число-палиндром - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.67
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
12.10.2011, 21:56     Число-палиндром #1
Задача:
Назовем, натуральное число палиндромом, если его запись читается одинаково с начала и с конца ( например 4554, 676, 5 )
1. Найти все меньшие N натуральные числа, которые при возведении в квадрат дают палиндром.
2. Найти все меньшие N числа - Палиндромы, которые при возведении в квадрат также дают палиндром.

Она мне говорит: " Перед тем как составить программу, напиши мне что тебе требуется от этой программы "
Я и пишу:
Программа должна:
А. Ввод натуральных чисел в программу
- предусмотреть чтобы было введено натуральное число, а не символ итд
- Во втором пункте программы предусмотреть чтоб был введен палиндром.
B. Предоставить выбор пункта ( 1 или 2 )
- Предусмотреть чтоб было введено число 1 или 2 , а не другое.
- Если введено другое число, вывести на экран соответствующее сообщение!
С. Предусмотреть вывод результата на экран монитора или принтер.

Она мне говорит: " Нужно работать самостоятельно! Ты совсем не понял что должна делать твоя программа ! "
Как это я не понял?? В чем ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2011, 21:56     Число-палиндром
Посмотрите здесь:

C++ Палиндром и автоморфное число
Найти отрезок массива-палиндром, в котором первое число равно последнему, второе предпоследнему и т.д. C++
C++ Число палиндром
Дано натуральное число N. Определить, является ли оно палиндромом. Число-палиндром можно читать справа налево и слева направо одинаково. Например, C++
Написать программу которая по заданному n проверяет число на палиндром C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aeshes
 Аватар для aeshes
437 / 200 / 13
Регистрация: 07.10.2011
Сообщений: 462
12.10.2011, 22:09     Число-палиндром #2
Ты говорил об интерфейсе и наворотах программы, а не о ее функционале
Вероятно, от тебя хотели услышать примерно следующее (для п.1):
- программа должна принимать от пользователя число N
- в программе надо написать функцию, проверяющую, является ли ее параметр палиндромом (возвращает 1 (true), если число палиндром, 0 (false) - в ином случае)
- в цикле от 1 до N перебрать все числа, проверяя для каждого, является ли его квадрат палиндромом; если да, вывести число на экран

Как у тебя там организовано меню - в этой программе не главное
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
12.10.2011, 22:12     Число-палиндром #3
Может программа сделать два пункта по порядку?
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
12.10.2011, 22:15     Число-палиндром #4
Цитата Сообщение от Сидоренко Посмотреть сообщение
- Во втором пункте программы предусмотреть чтоб был введен палиндром.
Это лишнее, исходное натуральное число произвольно, главное на симметричность сделать красивую проверку, это просто, но вы попробуйте
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
12.10.2011, 22:29  [ТС]     Число-палиндром #5
Цитата Сообщение от Сидоренко Посмотреть сообщение
Найти все меньшие N натуральные числа,
- меня смущает эта реплика! Как это меньшие?
1. В первом я так понимаю пользователь вводит число N ( int N ), Потом я возвожу это число в квадрат, и если это палиндром вывожу на экран.
2. Во втором пользователь вводит палиндром, N ( int N ). Потом возводим этот палиндром в квадрат, и если это палиндром, вывожу его на экран.

Так или нет? Я запутался
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
12.10.2011, 22:30     Число-палиндром #6
Цитата Сообщение от Сидоренко Посмотреть сообщение
1. В первом я так понимаю пользователь вводит число N ( int N ), Потом я возвожу это число в квадрат, и если это палиндром вывожу на экран.
2. Во втором пользователь вводит палиндром, N ( int N ). Потом возводим этот палиндром в квадрат, и если это палиндром, вывожу его на экран.
Нет, надо не само число проверять, а все числа (натуральные), меньшие исходного числа
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
12.10.2011, 22:33     Число-палиндром #7
Цитата Сообщение от Сидоренко Посмотреть сообщение
- меня смущает эта реплика! Как это меньшие?
это значит найти все числа, которые меньше N и при этом удовлетворяют условию
при возведении в квадрат дают палиндром.
а это
Найти все меньшие N числа - Палиндромы, которые при возведении в квадрат также дают палиндром.
означает то же что и первое, только при этом палиндромы квадратов палиндромов

т.е. в первом задании числа в квадрате = палиндром
во втором палиндромы в квадрате = палиндром
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
12.10.2011, 22:43  [ТС]     Число-палиндром #8
Блин...
У меня есть массив чисел, которые я задаю и сохраняю в памяти??
От пользователя требуется ввести всего одно число?

Так или нет. Если не сложно напишите очень подробно((
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
12.10.2011, 22:46     Число-палиндром #9
Цитата Сообщение от Сидоренко Посмотреть сообщение
От пользователя требуется ввести всего одно число?
Именно. Например, введено число 100, вы проверяете числа
1^2, 2^2,...,99^2 на симметричность. Если симметричность есть, то выводите соответствующее число. Например 1^2 симметрично, значит выводите 1, 2^2 симметрично, значит выводите 2 и т.д.
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
12.10.2011, 22:47     Число-палиндром #10
Как я понимаю задачу:
пользователь вводит 1 число - N затем считаются и выводятся на экран все меньшие N натуральные числа, которые при возведении в квадрат дают палиндром а потом все меньшие N числа - Палиндромы, которые при возведении в квадрат также дают палиндром.
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
12.10.2011, 22:50  [ТС]     Число-палиндром #11
А массив нужен?
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
12.10.2011, 22:52     Число-палиндром #12
зачем?
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
12.10.2011, 22:52     Число-палиндром #13
Цитата Сообщение от Сидоренко Посмотреть сообщение
А массив нужен?
Абсолютно не нужен
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
12.10.2011, 22:59  [ТС]     Число-палиндром #14
А. Ввод числа
- предусмотреть чтобы число являлось натуральным
- Что еще за условия??

И с программной точки зрения:

после того, как пользователь ввел число ( Например 10 ), сохраняем в память.
Только как сделать чтобы порграмма считала 1^2, 1^2 ... 9^2 ??


PS Очень благодарен за Вашу помощь!

Добавлено через 1 минуту
И в этой задачи, может пункты не надо делать?? Так как одна задача цепляется за другую?
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
12.10.2011, 23:00     Число-палиндром #15
Вот, посмотрите решение первой задачи:

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
#include<stdio.h>
#include<conio.h>
 
int Sym(long a)
{
   long b = a, c = 0;
   while (b)
   {
       c = c*10 + b%10;
       b /= 10;
   }
   return a == c;
}
 
int main()
{
   long i, n;
   scanf("%ld", &n);
   for (i = 1; i < n; i++)
      if (Sym(i*i))
         printf("%ld\n", i);
   getch();
   return 0;
}
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
12.10.2011, 23:07  [ТС]     Число-палиндром #16
Ого.. Не ожидал... Огромное Спасибо!
Olga_
 Аватар для Olga_
840 / 182 / 16
Регистрация: 01.08.2011
Сообщений: 502
12.10.2011, 23:12     Число-палиндром #17
Цитата Сообщение от Сидоренко Посмотреть сообщение
Ого.. Не ожидал... Огромное Спасибо!
Да чего уж тут. Вторая задача аналогична:
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
#include<stdio.h>
#include<conio.h>
 
int Sym(long a)
{
   long b = a, c = 0;
   while (b)
   {
       c = c*10 + b%10;
       b /= 10;
   }
   return a == c;
}
 
int main()
{
   long i, n;
   scanf("%ld", &n);
   for (i = 1; i < n; i++)
      if (Sym(i) && Sym(i*i))
         printf("%ld\n", i);
   getch();
   return 0;
}
Главное, разберитесь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.10.2011, 23:40     Число-палиндром
Еще ссылки по теме:

C++ Проверить число на палиндром!
Если число - не палиндром, перевернуть и сложить с изначальным. Повторять, пока оно не станет палиндромом C++
C++ Найти число-палиндром, больший введенного числа

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

Или воспользуйтесь поиском по форуму:
Сидоренко
-37 / 43 / 2
Регистрация: 26.10.2010
Сообщений: 447
12.10.2011, 23:40  [ТС]     Число-палиндром #18
Olga_, Огромное сасибо тебе!!!

Уже программа готова только код поучить что к чему и все!!
Но насчет технического задания посмотрите:

А. Ввод числа с клавиатуры пользователем
- Предусмотреть чтоб число было натуральным
В. Вывод результата на экран монитора или принтер, в зависимости от желания пользователя
- Если нет нужных чисел, вывести соответствующее сообщение!


Но это мало.... очень ..
Может кто-то еще что-то добавит?

Добавлено через 21 минуту
Все, я сделал! Спасибо еще раз всем кто принимал участие в данной теме!
Yandex
Объявления
12.10.2011, 23:40     Число-палиндром
Ответ Создать тему
Опции темы

Текущее время: 19:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru