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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разница между Visual C++ и C++ Builder http://www.cyberforum.ru/cpp-beginners/thread90423.html
Вчем разница между Visual C++ и C++ Builder?
C++ Построить динамический одномерный массив из элементов матрицы Дана динамическая целочисленная матрица.Построить динамический одномерный массив,каждый эллемент которого равен сумме элементов одной строки исходной матрицы. Освободить память от матрицы,найти... http://www.cyberforum.ru/cpp-beginners/thread90368.html
Программирование метода градиентного спуска - проверка кода на корректность C++
Здравствуйте! мне необходимо сдать лабораторную работу по методу градиентного спуска. я запрограммировал этот метод поиска минимума функции. работает он корректно и минимум функции находит, но мой...
Разбить файл на части C++
вот недавно изучил тему про fstream такая задача, нужно разбить файл на столько частей на сколько пожелает пользователь. к примеру на 10 fstream f("f.txt",ios::in); f.seekg(0,ios_base::end);...
C++ Переписать символы из файла в файл http://www.cyberforum.ru/cpp-beginners/thread90288.html
при считывании из файла(in) , символы выводятся в консоль, а как сделать чтобы они записывались в другой файл(out) а не в консоль?? int main() { ifstream input("in.txt"); ofstream...
C++ Поправьте код... Помогите поправить код...не пойму в чем ошибка....программы разложения в ряд ln(x+1) #include "iostream" #include "stdafx.h" #include <conio.h> #include <stdio.h> #include <windows.h> #include... подробнее

Показать сообщение отдельно
ureman
2 / 2 / 0
Регистрация: 27.01.2010
Сообщений: 17

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

28.01.2010, 13:08. Просмотров 543. Ответов 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;
}
теперь вопрос. программа считает и вроде даже правильно,
но в функции массив заполняется ерундой. Как сделать чтобы массив объявлялся под нужное количество цифр в исходном числе
может есть другой выход?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru