Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/187: Рейтинг темы: голосов - 187, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19

Перевод числа в массив

16.07.2010, 18:59. Показов 39039. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. У такой меня вопрос: могу ли я перевести n-значное число в массив из n элементов. Например 123 = {1, 2, 3}???
Мне нужно для решения задачи по длинной арифметике на срр.
Или может лучше считать число каким-либо другим способом, чтобы потом поразрядно складывать с другим?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.07.2010, 18:59
Ответы с готовыми решениями:

Перевод числа в массив.
В программе есть функция, которая принимает на вход целое число и символьный массив(строку). Нужно сделать так, чтобы она превратила число...

перевод из числа в прописной вид не массив
Здравствуйте товарищи!Нужна ваша помощь в исправлении кода. Что нужно мне изменить в коде что бы при вводе числа например 1234.34...

Функция: перевод числа с плавающей точкой в текст (массив char-ов)
Задача звучит так написать функцию перевода числа с плавающей точкой(double) в текст (массив char-ов)

10
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
16.07.2010, 19:25
Можно записать в char str[]. Функцией itoa(int val,char*buf, 10) //Вроде такой прототип.
Затем вычесть у каждого элемента строки '0'.
И записать это в int A[]. Может поможет

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstring>
int main()
{
    char Str[255];
    int Arr[255], Val=0;
    Val=345;
    itoa(Val, Str, 10);
    for(int i=0;i<strlen(Str);i++)
    {
        Str[i]=Str[i]-'0';
        Arr[i]=Str[i];
        std::cout<<"Arr: "<< Arr[i] <<'\n';
    }
    return 0;
}
0
113 / 113 / 13
Регистрация: 01.10.2008
Сообщений: 876
16.07.2010, 20:25
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int n=0;
int temp;
while (x>0)
{
     mas[n]= x%10;
     x= x/10;
     n++;   
}
 
for (int i=0; i<=n/2; i++)
{
      temp= mas[i];
      mas[i]= mas[n-i-1];
      mas[n-i-1]= temp;
}
1
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
16.07.2010, 20:25  [ТС]
Все работает, но когда число большое например 16854684351461, он выводит 0...Почему???
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
16.07.2010, 20:33
А не слишком ли большое число для int
0
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
16.07.2010, 20:36  [ТС]
В том то и дело... Мне надо вводить цифры от 0 до 10^100. Потом поразрядно складывать с таким же большим числом. Ну длинная арифметика. Я делал как то сумму массивов. получилось, теперь просто числа даны большие, не могу придумать
0
113 / 113 / 13
Регистрация: 01.10.2008
Сообщений: 876
16.07.2010, 20:52
kzht91, сразу считывай в массив да и все
вот как считать с файла
C
1
2
3
4
char str[1000];
fscanf(f, "%s", str);
for(i=0; i<strlen(str); i++)
mas[i]= str[i]-'0';
0
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
17.07.2010, 01:46  [ТС]
Во спасибо!)))) Заработало!)))

Добавлено через 4 часа 47 минут
Блин весь мучался, никак не могу написать код, уже сообразил вроде, но какие то ошибки выходят. Помогите написать эту программу. Это A+B, где А и В не превышают 10^100. Буду признателен.
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
17.07.2010, 03:13
Можешь использовать long long тип. Или скачать библиотеку для длинных чисел
0
113 / 113 / 13
Регистрация: 01.10.2008
Сообщений: 876
17.07.2010, 07:55
kzht91, где хранится длина массива?
ии для таких целей лучше хранить число задом наперед
0
0 / 0 / 0
Регистрация: 02.07.2010
Сообщений: 19
17.07.2010, 17:39  [ТС]
Ну для того чтобы складывать поразрядно и начинать с единиц, т.е. с конца массива

Добавлено через 1 час 22 минуты
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
#include <iostream>                     
#include <string.h>
#include <math.h>
using namespace std;
 
int main() {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    char sa[102] = {0}, sb[102] = {0};
    int i, ma[102], mb[102], r[102] = {0}, str;
    cin >> sa >> sb;
    if(strlen(sa) > strlen(sb)) str = strlen(sa);
    else str = strlen(sb); 
 
    for(i=0; i<str; i++) ma[i] = sa[i] - '0';
    for(i=0; i<str; i++) mb[i] = sb[i] - '0';
 
    for(i=0; i<str; i++) cout << sa[i];
    cout << endl;
    for(i=0; i<str; i++) cout << sb[i];
    cout << endl;
 
    for(i=str-1; i>=0; i--) {
        r[i] = ma[i] + mb[i];
        if(r[i] > 9) {
            r[i] = r[i]%10;
            r[i-1]++;
        }   
    }
    for(i=0; i<str; i++) { 
        cout << r[i];
    }
}
Объясните в чем ошибка. Это сумма чисел, но почему то не пашет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.07.2010, 17:39
Помогаю со студенческими работами здесь

Перевод числа из одной с.с. в другую, манипуляции с цифрами числа
Здравствуйте! У меня такая проблема... Есть программа, выполняющая определенные операции с введенным числом (переставляет местами цифры,...

Бинарные числа! Перевод простого числа в бираное и расчет.
Здравствуйте!Я понимаю, что моя просьба банальна, но я правда не могу никак разобраться с бинарными числами и переводом простых чисел в...

Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив
Нужна помощь! Срочно! Нужно ввести в программу строку (числа, латиница), считать только числа, записать числа в массив. Помогите,...

Заполнить массив случайными числами в интервале [1,N] так, чтобы в массив обязательно вошли все числа от 1 до N
Заполните массив из N элементов случайными числами в интервале так, чтобы в массив обязательно вошли все числа от 1 до N (постройте...

перевод числа
подскажите как перевести в 10ую систему число которое записано в двух ячейках массива : a=10; a=99 , причем число 9910 в 16 системе


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru