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

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

Восстановить пароль Регистрация
 
ureman
2 / 2 / 0
Регистрация: 27.01.2010
Сообщений: 17
28.01.2010, 13:08     Снова палиндромы с++ #1
итак есть условие задачи с++
"По 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++ Числа палиндромы
Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы C++
C++ палиндромы (С++)
Слова-палиндромы C++
Палиндромы C++
Палиндромы C++
C++ Как сделать чтобы таймер дойдя до 0 стартовал снова и снова?
Найти числа от 1 до 99 - палиндромы, которые при возведении в квадрат также дают палиндромы (используя циклы) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sekt
 Аватар для 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     Снова палиндромы с++
Ответ Создать тему
Опции темы

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