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

работа с числами - C++

Восстановить пароль Регистрация
 
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
04.01.2011, 22:24     работа с числами #1
мне интересует вот что.
Например я ввожу число 1234, программа должна выводить 1 2 3 4,то есть разделить число а каждую цифру засунуть в массив. Для этого надо написать формулы..для 12 написать надо
C++
1
2
p[0]=chislo/10;
p[1]=chislo%10;
Для 1247587 я не знаю что писать должен...
Однако отмечу,что проблема не в том откуда достать формулы,проблема в том нельзя ли все эти формулы заменить циклом?Препод по с++ про это говорил..я не знаю почему не просил кода у него.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 22:24     работа с числами
Посмотрите здесь:

Работа с 16-ричными числами C++
Работа с числами C++
Работа с числами C++
Работа с числами в с++ C++
Работа с длинными числами C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
04.01.2011, 22:27     работа с числами #2
C++
1
2
3
4
5
6
7
8
int N = 123456789, i = 0;
const int n = 9;
int a[n];
while(N)
{
   a[i++] = N % 10;
   N /= 10;
}
Так что-ли ?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.01.2011, 22:58     работа с числами #3
asics, Ну тогда и реверс нужен.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
04.01.2011, 22:59  [ТС]     работа с числами #4
C++
1
2
3
4
5
6
7
8
void ntoa(int a,int x[],int n)
{
    for(int i=0;i<n;i++)
    {
        x[i]=a%10;
        a/=10;
    }
}
разработал функцию на основе твоего кода.
работает. но при выводе массива печатается наоборот..то есть я ввел 123,он выводит 3 2 1.

Добавлено через 10 секунд
ForEveR, да)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.01.2011, 23:00     работа с числами #5
^Tecktonik_KiLLeR, std::reverse(arr, arr+N). Где arr - указатель. N - размер массива.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
04.01.2011, 23:02     работа с числами #6
Ну или так
C++
1
2
3
4
5
6
7
8
9
10
void reverse( int size, int *data ) 
{
int i, j;
for (i= 0, j= size-1; i<j; i++, j--) 
{
        int t = data[i];
    data[i] = data[j]; 
    data[j] = t;
}
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
04.01.2011, 23:04  [ТС]     работа с числами #7
Цитата Сообщение от ForEveR Посмотреть сообщение
arr+N
так и написать?оО

Добавлено через 1 минуту
ForEveR, реверс функция в каком файле?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.01.2011, 23:04     работа с числами
Еще ссылки по теме:

работа с числами C++
Работа с числами C++
Работа с комплексными числами C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.01.2011, 23:04     работа с числами #8
^Tecktonik_KiLLeR,
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <algorithm>
#include <iterator>
 
int main()
{
    const int N=10;
    int Arr[]={1,2,3,4,5,6,7,8,9,0};
    std::reverse(Arr, Arr+N);
    std::copy(Arr, Arr+N, std::ostream_iterator<int>(std::cout, " "));
    return 0;
}
Yandex
Объявления
04.01.2011, 23:04     работа с числами
Ответ Создать тему
Опции темы

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