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

Перевод из восьмиричной в десятиричную - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
11.02.2012, 23:36     Перевод из восьмиричной в десятиричную #1
Помогите, пожалуйста, переписать программу, что бы она была без динамического массива:

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
#include <iostream>   
#include <math.h>
using namespace std;
 
int main()
{
    int temp, size=0,nVal;
    int S=0;
    cout <<"Enter number\n";
    cin >> nVal;
    temp=nVal;
    while(temp!=0) 
    {
        temp/=10;
        size++;
    }
    temp=nVal; 
    int* ar = new int[size];
    for(int i=0; i<size; i++)
    {
        ar[i]=temp%10;
        temp/=10;
    }
    for (int i=0; i<size; i++)
    {
        S+=ar[i]*pow(8.0,i);
    }
    delete ar;
    cout <<S;
}
Или напишите свой код. Заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2012, 23:36     Перевод из восьмиричной в десятиричную
Посмотрите здесь:

C++ Перевод из 10 си в 11-16
C++ Перевод числа из восьмиричной в десятичную систему счисления
Перевод из 16 сс в 4 сс C++
C++ Перевод в 8-ю ЧС
C++ Перевод из восьмеричной системы исчисления в десятиричную
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2012, 15:26     Перевод из восьмиричной в десятиричную
Еще ссылки по теме:

C++ Перевод
C++ Перевод из C в С++
Перевод из восьмеричной системы в десятиричную C++

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

Или воспользуйтесь поиском по форуму:
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38
12.02.2012, 15:26  [ТС]     Перевод из восьмиричной в десятиричную #21
Цитата Сообщение от renald Посмотреть сообщение
А чем мой код не подходит?
Спасибо за старания, но нужно не таким способом как у тебя.

Добавлено через 3 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- тогда как то так
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
#include <iostream>
#include <cmath>
using namespace std;
 
int oct2dec(int oct_val)
{
    
    int ipower = 0;
    int buffer = oct_val;
    while(0 < (buffer /= 8))
        ipower = ipower + 1;
    int dec_val= (oct_val%10);
    for(int i = 1; i <= ipower; i++)
    {
        oct_val /= 10;
        dec_val += (oct_val%10)*pow(8,i);
    }
    return dec_val;
}
 
int main()
{
    
    int val;
    while(true)
    {
        cout<<"Enter oct value : "; cin>>val;
        cout<<"Decimal value   : "<<oct2dec(val)<<endl;
    }
    return 0;
}
Отработка в консоли
Enter oct value : 72
Decimal value : 58
Enter oct value : 200
Decimal value : 128
Enter oct value :

Добавлено через 1 минуту

Не по теме:

PS:jock, да твой код норм, я сначала не въехал, как то сложно сразу перестроить мозги на 8-ку

Большое спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
12.02.2012, 15:26     Перевод из восьмиричной в десятиричную
Ответ Создать тему
Опции темы

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