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

Как массив разнозначных чисел превратить в массив цифр? (С++) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить, лежит ли точка с заданными координатами внутри треугольника http://www.cyberforum.ru/cpp-beginners/thread222380.html
Как с помощью этого решить это: Определите, лежит ли точка с координатами (x0, y0) внутри треугольника, вершины которого расположены в точках (x1, y1), (x2, y2) и (x3, y3). //=======================geometry.cpp #include <math.h> #include <fstream.h> #include <iostream.h> #include "geometry.h"
C++ Два вопроса по простой программе Вообщем начал изучать С++ (и из этого следует что я ничего не понимаю в программировании) В интернете скачал учебник "С++ для чайников" И там была показана первая программа: #include <stdio.h> #include <iostream.h> int main (int nNumberofArgs, char * psArgs ) { // Введите температуру в градусах цельсия int nNCelsius; cout << "Температура по цельсию: "; http://www.cyberforum.ru/cpp-beginners/thread222359.html
C++ Удалить 0 эл-ты из одномерного массива
Подкиньте программу удаляющую из одномерного массива все 0 элементы. Заранее благодарен!
Бинарное дерево C++
Здравствуйте! Пожалуйста, помогите улучшить программу. Программа работает, только надо добавить StringGrid, куда надо выводить бинарное дерево так, чтобы оно располагалось структурировано. То есть меньший элемент левее, больший – правее, а корень находился выше и посередине. И чтобы это выглядело так в не зависимости от количества элементов. Как это представить? У меня стоит CodeGear RAD...
C++ Скроллер в консоли http://www.cyberforum.ru/cpp-beginners/thread222330.html
Здравствуйте, господа. Можно ли каким-то образом сделать так, чтобы в правой части окна консольного приложения, написанного в борланде, был скроллер? Знаю, как это сделать в VS только. Мне надо сделать именно в борланде, а не в VS сейчас. Заранее благодарю за возможные ответы.
C++ Массив В одномерном массиве посчитать сумму элементов до последнего положительного элемента, в С++ билдере плиз подробнее

Показать сообщение отдельно
kiberg
0 / 0 / 0
Регистрация: 29.12.2010
Сообщений: 8
29.12.2010, 20:11  [ТС]     Как массив разнозначных чисел превратить в массив цифр? (С++)
В Билдере значит будет так:
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
#include <vcl.h>
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
int main()
{
        int n, i;
        cout << "vvedite chislo N ( N > 0 ): ";
        cin >> n;
        if(n == 0 || n < 0)
          {
          cout << "Nekorrektniy vvod";
          getch();
          return 1;
          }
 
        int *arr = new int[n];
        arr[0] = 0; arr[1] = 1;
 
        for (i = 2; i < n; i++)
                arr[i] = arr[i-2] + arr[i-1];
 
        cout << n << "-oje chislo posledovatel'nosti = " << arr[n-1] << endl;
 
        int k,
                j,
                temp,
                p = 2;
        bool b = false;
 
 
      if (n > 0 && n < 8)
        k = arr[n-1];
      else
        for (i = 2; i < n; i++)
          {
          temp = arr[i];
          j = 0;
            while (temp)
              {
              temp /= 10;
              j++;
              }
          temp = arr[i];
            if (j+p < n)
              {
              p += j;
              continue;
              }
            while(temp)
              {
              p++;
              if (p == n)
                {
                k = static_cast<int>(temp / pow(10.0,j-1));
                b = true; break;
                }
              temp %= static_cast<int>(pow(10.0,--j));
              }
          if (b) break;
          }
 
cout << n <<"-aja cifra posledovatel'nosti: " << k;
delete [] arr;
getch();
return 0;
}

1. Есть одна проблема - не видит нули! 28 цифра должна быть 0 (это в числе 610), 27 цифра - 1, а 28 он пишет что она - 9 (т.е. из следующего числа 987), и так далее пропускает везде нули и происходит сдвиг на 1 цифру после каждого нуля.

(2. Получается что у нас массив размером N чисел, т.е. больше чем нужно, а нужно для N цифр, но это особо не важно)
(3. Ещё вопрос, кто-нибудь знает почему на 48 ЧИСЛЕ он уходит в минус, т.е. до 48 числа все числа правильные (46ое = 1134903170, 47ое = 1836311903, а 48-ое вдруг = отрицательному числу), а дальше там идут отрицательные и положительные числа вразнобой ?)
 
Текущее время: 11:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru