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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ureman
2 / 2 / 0
Регистрация: 27.01.2010
Сообщений: 17
#1

Снова палиндромы с++ - C++

28.01.2010, 13:08. Просмотров 534. Ответов 2
Метки нет (Все метки)

итак есть условие задачи с++
"По N, M найти сумму тех чисел из[M,N], которые являются палиндромами. "
вот решение набросал
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
#include <cstdlib>
#include <iostream>
 
using namespace std;
bool Palindrom(int chislo)
{
        int k(0);
        int z(chislo);  
        //вычисление колличества цифр "k" в числе
             while(z > 0)
        {
               z /=10;
                k++;
        }
        int i(0), L;
        int mas[k]; //массив
 //заполнение массива остатками от деления числа на 10, 
 //пока остаток от деления >0       
        while(chislo > 0)
        {
                mas[i] = chislo%10;
                chislo /=10;
                i++;
        }
        L = i;
  //проверка       
        for(i = 0; i < L / 2; i++)
                if(mas[i] != mas[L - 1 - i])
                        break;
 
        return (i == L/2) ? true : false;
}
        
int main()
{
    int i,k(0),N,M,L(0);
    double sum(0);
    do
    {cout<<"input left < right"<<endl;
    cout << "Input left granica: ";
    cin >> N;
    cout << "Input right granica: "; 
    cin >> M;}
    while (N>M);
    //цикл вывода палиндрома, если из функции пришло true
    for(i = N; i <= M; i++)
                if(Palindrom(i))
                {
                        cout<<i<<'\t'; //вывод
                        sum+=i; //суммирование 
                        ++L; //кол-во +1
                        
                }
        cout<<endl; 
        cout<<"summa chisel-palindroms "<<sum<<endl;
        cout<<"kol-vo palindroms v intervale: "<<L<<endl;   
             system("pause");
                return 0;
}
теперь вопрос. программа считает и вроде даже правильно,
но в функции массив заполняется ерундой. Как сделать чтобы массив объявлялся под нужное количество цифр в исходном числе
может есть другой выход?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2010, 13:08     Снова палиндромы с++
Посмотрите здесь:

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

палиндромы (С++) - C++
дана целочисленная квадратная матрица порядка n. Найти номера строк, элементы которых образают симметричные последовательности (палиндромы)...

Палиндромы - C++
Каждая строка текста (до символа новой строки) является выражением. Найти все выражения палиндромы. Вывести их количество и эти выражения....

Числа палиндромы - C++
Помогите написать программу в С++ которая проверяет является ли введенное число палиндромом.(число одинаково читающееся с 2х сторон,...

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

слова-палиндромы - C++
Задание: В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на...

Слова-палиндромы - C++
Эта прога должна выводить все слова-палиндромы (которые читаются одинаково задом наперед так же, как и в нормальном вигляде) в рядке,...

Удалите палиндромы - C++
Удалите в целочисленном массиве все положительные числа, которые являются палиндромами.

Найти слова палиндромы - C++
В тексте найти слова-полиндромы

Текстовые файлы и палиндромы в С++ - C++
Имеется текстовый файл, содержащий текст на русском языке. найти в нем слова+палиндромы (&lt;&lt;перевертыши&gt;&gt;), одинаково читающиеся как слева...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
28.01.2010, 16:34     Снова палиндромы с++ #2
Исп перевод числа в символы.Потом запускайте цикл один от начала другой от конца и сравнивайте.
ureman
2 / 2 / 0
Регистрация: 27.01.2010
Сообщений: 17
29.01.2010, 06:48  [ТС]     Снова палиндромы с++ #3
с переводом числа в строку,в принципе, все понятно.возможно так было бы проще, но это не по сути вопроса. меня то интересует как поправить существующую?
Yandex
Объявления
29.01.2010, 06:48     Снова палиндромы с++
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru