Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
1

как с пoмощью цикла и оператора If проверить полиндром ли число

11.02.2011, 21:35. Показов 735. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
собственно вопрос в названии.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.02.2011, 21:35
Ответы с готовыми решениями:

Выполните, пожалуйста, задание, при этом вместо оператора цикла while используйте оператора цикла do_while
Используя оператор цикла while, напишите программу для вычисления ниже следующей суммы. ...

Проверить, являются ли числа взаимно простыми, с помощью цикла for и оператора ветвления if
вот кусок программы. тут цикл. при выполненном условии выводится текст, а если разместить else в...

С использованием цикла While написать программу :Дано целое число N. Проверить является ли число N числом Фибоначчи
Помогите пожалуйста 1)с использованием цикла While и без масивов написать программу которая...

Полиндром и симметричное число
Народ, недавно занялся паскалем, появился такой вопрос. Надо написать две программы, но увы не...

6
Эксперт С++
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
11.02.2011, 21:38 2
Ставите два указателя на начальный и конечный символ и начинаете их сдвигать, пока не пересекутся. Если два каких-то символа не равны окажутся - строка не палиндром, если указатели пересеклись, а выхода из цикла не было - палиндром.
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
11.02.2011, 21:42 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main(){
  int num = 1233321, num_ = num, tail = 0;
  while(num){
    tail *= 10;
    tail += num % 10;
    num /= 10;
  }
  std::cout << ( num_ == tail? "YES" : "NO" );
  return 0;
}
1
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
11.02.2011, 21:43  [ТС] 4
silent_1991, у меня есть указатели,если хотите взгляните на код.
код

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
36
37
38
39
40
41
42
#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
void main()
{
 srand(time(0));
 //advertisement of arrays sizes
const int xsize=5;
const int ysize=15;
//arrays advertisement
int x[xsize];
int y[ysize];
int yc=0;   //counter for y array
int min=0;  //advertisement of minimum element in Y array
int* px=&x[0];  //x arrays pointer
int* py=&y[0];  //y arrays pointer
for(int i=0;i<xsize;i++) //input array x
 *(px+i)=rand()%20-10;
for(int i=0;i<xsize;i++) //input array y
 if(*(px+i)%2==0 && *(px+i)!=0)
 {
  *(py+yc++)=*(px+i);
  *(py+yc++)=0;
  *(py+yc++)=0;
 }
min=*py;
for(int i=0;i<yc;i++)   //minimum
 if(min>*(py+i))
 {
  min=*(py+i);
  minInd=i;
 }
for(int i=0;i<xsize;i++) //output of X array
 cout<<*(px+i)<<" ";
cout<<endl;
for(int i=0;i<yc;i++) //output of Y array
 cout<<*(py+i)<<" ";
cout<<endl;
cout<<"Minimum in Y array is: "<<min<<endl;
}
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
11.02.2011, 21:52 5
Еще вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <sstream>
 
bool pol(const int &a){
  std::ostringstream ost;
  ost << a;
  std::string num_ = ost.str();
  return std::equal(num_.begin(), num_.end(), num_.rbegin());
}
 
int main(){
  int num = 1221;
  std::cout << ( pol(num)? "YES" : "NO" );
  return 0;
}
0
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
11.02.2011, 21:55  [ТС] 6
asics, а можно комментировать?

Добавлено через 15 секунд
asics, первый вариант лучше.
0
Freelance
Эксперт С++
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
11.02.2011, 22:00 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
int main(){
  int num = 1233321, num_ = num, tail = 0;
  while(num){//Пока num не равно нулю крутим цыкл
    tail *= 10;//Умножаем на 10 для того, что бы можно было додать следеющую цыфру в следующий розряд
    tail += num % 10;//Додаем цыфру, начиная з конца
    num /= 10;//Убираем цыфру которую использовали, из исходного числа
  }
  std::cout << ( num_ == tail? "YES" : "NO" );//Если исходное равно перевернутому...
  return 0;
}
0
11.02.2011, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2011, 22:00
Помогаю со студенческими работами здесь

сочетания оператора цикла и условного оператора
Известна оценка каждого ученика по физике, посчитать сколько пятерок, количество человек в классе,...

Сочетания оператора цикла и условного оператора
вывести на экран все числа a от до b , кратные некоторому числу c

Как убрать вставку шаблона оператора цикла FOR?
Собственно сабж, ибо уже раздражать стало! ]:-&gt; Копался в настройках, но так и не нашёл ничего. ...

Как с помощью оператора цикла решить уравнение?
Здравствуйте.Спасите, горю. Как с помощью оператора цикла решить уравнение y^3 - y^2 -y+x=0? х...

Как протабулировать функцию без оператора цикла
Как это сделать без использования оператора цикла program Tabulyazia1; var x,a,b,h,f,c,d: real;...

Организация цикла без использования оператора цикла
Вычислить значение функции:F=система из 3-х уравнений...1 ур-ие:2*a*Y, при Y&gt;0..2...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru