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

Палиндром. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Имеется четыре произвольных числа: А, B, C, D http://www.cyberforum.ru/cpp-beginners/thread353632.html
помогите решить Имеется четыре произвольных числа: А, B, C, D. ЭВМ должна ответить на вопрос: Правда ли что среди чисел точно одно меньше нуля?? . Ответ ЭВМ должна вывести в виде слова «Правда» или «Неправда».
C++ Перестановка слов Всем привет. Нужна помощь в решении задания. Написать программу, которая будет считывать текст из файла выводя его на экран, но при этом будет менять местами каждые 2 соседних слова. При этом нужно учесть то, что в файле может быть и 1 слово. Спасибо. http://www.cyberforum.ru/cpp-beginners/thread353627.html
C++ Считать текст из файла, и вывести только предложения, в которых нет запятой
Написать програму которая считывает текст из файла и выводит на екран только предложения в которых нету запятой? Это надо сделать через роботу с файлами.
Написать програму которая считывает из текстового файла три предложения C++
Написать програму которая считывает из текстового файла три предложения и выводит их в обратном порядке. Официальным языком форума является русский язык. Называйте темы осмысленно.
C++ Вывести из файла все слова, которые начинаются на гласную букву http://www.cyberforum.ru/cpp-beginners/thread353620.html
Вивести из файла все слова котрые начинаются на гласную букву. Слова записаны на английском. ООООЧень нужна помощь!
C++ Разбить ip адрес на составляющие. Задача такова получаем на входе строку типа string в которой содержится адрес вида "172.16.11.163" нужно получить четыре масива char по 3 элемента содержащие в себе числа адреса. например: string addr="172.16.11.163"; - на входе // что-то делаем char addrn - на выходе *addrn=172 *addrn=016 *addrn=011 *addrn=163 подробнее

Показать сообщение отдельно
Ierehon
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 130
19.09.2011, 14:01     Палиндром.
Все доброго времени суток. Проблема следующая. Сделал задачу, реализовал палиндром по средствам С++. Преподаватель решил придраться и требует написать ему свою функцию палиндрома. Как можно реализовать палиндром в С++ не встроенной процедурой?

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*19. Рассмотрим некоторое натуральное число n. Если это- не палиндром, то изменим порядок его  цифр  
на  обратный  и  сложим  исходное  число  с получившимся.  Если  сумма- не  палиндром,  то над ним 
повторяется те же действия и т.д., пока  не  получится  палиндром.  До  настоящего  времени неизвестно,  
завершается ли этот процесс для любого натурального числа n.  Даны натуральные числа n,m. 
Проверить,  верно ли, что для n процесс завершается не позднее, чем после m таких действий */
 
#include "stdafx.h"
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int is_not_palyndrome(int);
 
void main(){
int a,b,m;
//ввод натурального числа
cout<<"ENTER NATURAL INTEGER: ";
cin>>a;
//проверка на то что число натуральное
if (a<0) {
        cout<<"INTEGER IS NOT NATURAL"<<endl;
        cin>>a;
        return;
}
//проверка является ли число палиндромом
if (!is_not_palyndrome (a)) {
        cout<<"INTEGER IS PALYNDROME"<<endl;
        cin>>a;
        return;
}
//ввод количества действий
cout<<"ENTER M: ";
cin>>m;
 
//попытка получения палиндрома за М шагов
for (int i = 0; i<=m; i++)
 
 {
    //проверка является ли палиндромом
        if (b=is_not_palyndrome (a)) a+=b;
        else {
    //вывод если получился палиндром
           cout<<"PALYNDROME "<<a<<" OBTAINED ON STEP: "<<i<<endl;
           cin>>a;
           return;
        }
}
//вывод если палиндром не получен
cout<<"CANT OBTAIN PALYNDROME IN "<<m<<" STEPS"<<endl;
cin>>a;
return;
}
 
//функция проверки на палиндром
int is_not_palyndrome (int number) {
        int a = number;
        int b = 0;
    //выполнение проверки
        while (a) {
           b*=10;
           b+=a%10;
           a/=10;
        }
    //если палиндом то возвращаем 0
        if (number==b) return 0;
    // если нет, то возвращаем b
        else return b;
        getch();
}
Сам палиндром проверяется через
C#
1
int is_not_palyndrome(int);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru