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

Где ошибка? не очень разбираюсь в С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как достать из файла цифры? C Builder http://www.cyberforum.ru/cpp-beginners/thread357721.html
Есть некий файл in_dat.dat, в нем в столбец записано 256 цифр (через запятую) Как в другом отдельном файле вытянуть эти цифры и записать их в массив?
C++ Подсчитать сумму элементов строки в массиве и присвоить значение первому элементу void raschet (int x, int &nul , int &kol ) { nul=0, kol=0; int i,j,z ; for (int i=0; i<I; i++) { x=0; z+= x; } for (int j=0; j<J; j++) x = z; http://www.cyberforum.ru/cpp-beginners/thread357719.html
C++ Вычислить значение N!
Вычислить значение N!
Редактор для C++ C++
Я начинающий программис на С++. Помогите пожалуста подобрать удобный редактор с компилятором в одном.
C++ Есть готовая рабочая программа,но нужно сделать методы класса(типа проверить рабочий ли телефон,включить выключить его и данные:вес,размер,и т.д. что бы вводил пользователь.) http://www.cyberforum.ru/cpp-beginners/thread357687.html
#include <iostream> #include <string> using namespace std; class Device { private: string _name; //длина unsigned int length;
C++ wxDev-C++ и инкапсуляция Всем привет. Учусь по книжке Дейтелов, дошел до классов. Авторы пропагандируют методику сокрытия ненужных данных, то есть делать 3 файла: *.h (сам класс), *.cpp (элемент-функции класса) и *.cpp (функция main, которая запускает класс). Например, такой код: #ifndef TIME_H #define TIME_H // Time class definition class Time { public: подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
29.09.2011, 10:04     Где ошибка? не очень разбираюсь в С++
Цитата Сообщение от 3xter Посмотреть сообщение
-=ЮрА=-, из входного потока вводится последовательность целых чисел. Количество чисел не превышает 100. Сформировать новую последовательность элементы которой являются числа палиндромы и вывести на экран)
- вот и весь код
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
#include <iostream>
#include <cstdlib>
#include <conio.h>
 
using namespace std;
 
bool ispalindrom(int num);
 
int main()
{
    int *a,*b,i,j,n;
    do
    {
        std::cout<<"Enter num elements : ";
        std::cin>>n;        
        a = new int[n];
        b = new int[n];//Впринципе все числа могут быть палиндромами
        std::cout<<"\tImput sequence\r\n";
        for(i = 0; i < n; i++)
        {
            std::cout<<"a["<<i + 1<<"] = ";
            std::cin>>a[i];
        }
        std::cout<<"\tSee palindroms\r\n";
        for(i = 0, j = 0; i < n; i++)
        {
            if(ispalindrom(a[i]))
            {
                std::cout<<(b[j] = a[i])<<" ";
                j++;//вконце цикла здесь накопиться число элементов - 1
            }
        }
        delete [] a;
        delete [] b;
        std::cout<<"\r\nPress Y for new input\r\n";
    }
    while(toupper(getch()) == 'Y');
}
 
bool ispalindrom(int num)
{
    bool ret = true;
    int nDigits = 1;
    int buf = num;
    while(0 < (buf /= 10))
        nDigits++;//Подсчёт числа разрядов числа
    int * arr = new int[nDigits];
    //запишем разряды числа в массив
    for(int i = 0; i < nDigits; i++, num /= 10)
        arr[i] = (num % 10);
    //сравниваем части числа
    for(i = 0; i < nDigits/2; i++)
    {
        if(arr[i] != arr[nDigits - i - 1])
            ret = false;
        if(!ret)//остановим цикл сразуже если зеркальные разряды не равны
            break;
    }
    delete [] arr;
    return ret;
}
Вывод в консоль
Enter num elements : 5
Imput sequence
a[1] = 1122
a[2] = 1221
a[3] = 3569
a[4] = 4554
a[5] = 1148
See palindroms
1221 4554
Press Y for new input

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