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

Программа переводящая из двоичной системы в восьмеричную Помогите пожалуйста.. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Pascal to С++ http://www.cyberforum.ru/cpp-beginners/thread419323.html
Нужно переписать программу паскаля под с++ Program PascalGuru; var s,x:string; i:integer; {----------------------------------} begin write('Vvedite stroky1: '); readln(s); write('Vvedite stroky2: '); readln(x);
C++ Структуры, строки, работа с файлами. Прошу вас помочь с программным кодом для таких задач: 1. Структура элемента массива владелец: фамилия, адрес, марка автомобиля, регистрационный номер, год выпуска. Определить: ─ количество автомобилей каждой марки ─ владельца самого старого автомобиля; ─ фамилии владельцев и номера автомобилей данной марки. 2. Отсортировать по убыванию символы в S1 и распределить их таким образом:... http://www.cyberforum.ru/cpp-beginners/thread419310.html
C++ Написать программу в С++ (действия с файлами, матрицами, векторами)
Вводятся элементы матрицы(из файла, m - кол-во строк, n - кол-во столбцов) построчно. Вычислить: 1) сумму двух векторов; 2) разность двух векторов; 3) скалярное произведение двух векторов; 4) умножение вектора на число; 5) умножение числа на вектор. Полученные результаты вывести в файл и на экран русскими буквами. \huge y=\prod_{i=1}^{m}\sum_{j=1}^{n}\left(\frac{{a}_{ij}}{i!+j!}\right)...
Разместить все элементы с положительными значениями в левой части массива, с отрицательными — в правой C++
помогите, пожалуйста, написать программу на С++: Нужно разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями - в правой, а нули - между ними (порядок следования в серии не меняется) Размерность массива 20 Диапазон значений
C++ Помогите пожалуйста с задачами C++ !!! http://www.cyberforum.ru/cpp-beginners/thread419296.html
1)Рассчитать значения z для значения a, равных 2,3,...,17: z=3,5t квадрат -7t+16, t=4a 2)Дано шестизначное число. Найти сумму его цифр. Величины для хранения всех шести цифр числа не использовать. 3)Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого (само другое число в качестве делителя не рассматривается). Найти всё пары...
C++ строки и производная Кому не сложно, помогите, пожалуйста с задачей. Многочлен a0x^n+a1x^(n-1)+…+a(n-1)x+an задан действительными коэффициентами a0,...,an. Напишите программу, которая составляла бы для данного многочлена формулу производной k-го порядка (1<=k<=n) в символьном выражении и выводила ее на экран. Заранее спасибо! Добавлено через 23 часа 9 минут up ))) подробнее

Показать сообщение отдельно
KALDblRIK
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 5

Программа переводящая из двоичной системы в восьмеричную Помогите пожалуйста.. - C++

27.12.2011, 23:03. Просмотров 864. Ответов 0
Метки (Все метки)

Я почти написал программу, только не могу написать код для перевода дробной части числа.. Помогите пожалуйста..
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#include "stdafx.h"
#include <iostream>
#include <string>
 
using namespace std;
 
 
int main()
{
    string chislo,ch0,ch00, ch1, ch2, ch11, ch22, ch3;
    char ch4;
    int i,n,t,q,n1,n2,w, n11, j, n22;
    cout << "Vvedite chislo: ";
    cin >> chislo;
    n=chislo.length();
    ch1=ch2="";
    i=0;
    while ((chislo[i]!='.') && (i<n))//Переносит цифры до точки в строку "ch1"
        {
            ch1=ch1+chislo[i];
            i++;
        }
    i++;
    for (i=0;i<n;i++)
        {
            if (chislo[i]!='.')//если нет "." то дробная часть равна ""
                {   
                    ch2="";
                    t=n;
                }       
            else 
                {for (i=0;i<n;i++)//Определяет номер символа с точкой и записывает в t
                {
                    if (chislo[i]=='.')
                        t=i;
                }
            for (i=t+1;i<n;i++)//Переносит цифры после точки в строку "ch2"
                {
                    ch2=ch2+chislo[i];
                    i+=1;
            }}
        }
    n1=ch1.length();
    q=3-(n1%3);
    if (q==1)//добавляет нули в начало целой части
            ch0="0";
    if (q==2)
            ch0="00";
    if (q==3)
            ch0="";             
    ch11=ch0+ch1;
    n2=ch2.length();
    w=3-(n2%3);
    if (w==3)//добавляет нули в конец дробной части
        ch00="";
    if (w==2)
        ch00="00";
    if (w==1)
        ch00="0";   
    ch22=ch2+ch00;
    n11=ch11.length();
    for (i=0;i<n11;i=i+3)//переводит целую часть в восьмеричную систему
        {
            j=0;
            {if((ch11[i]=='0') && (ch11[i+1]=='0') && (ch11[i+2]=='0'))
                ch3[j]='0';
            if((ch11[i]=='0') && (ch11[i+1]=='0') && (ch11[i+2]=='1'))
                ch3[j]='1';
            if((ch11[i]=='0') && (ch11[i+1]=='1') && (ch11[i+2]=='0'))
                ch3[j]='2';
            if((ch11[i]=='0') && (ch11[i+1]=='1') && (ch11[i+2]=='1'))
                ch3[j]='3';
            if((ch11[i]=='1') && (ch11[i+1]=='0') && (ch11[i+2]=='0'))
                ch3[j]='4';
            if((ch11[i]=='1') && (ch11[i+1]=='0') && (ch11[i+2]=='1'))
                ch3[j]='5';
            if((ch11[i]=='1') && (ch11[i+1]=='1') && (ch11[i+2]=='0'))
                ch3[j]='6';
            if((ch11[i]=='1') && (ch11[i+1]=='1') && (ch11[i+2]=='1'))
                ch3[j]='7';
            cout << ch3[j];
            j++;
            }
        }
    n22=ch22.length();
    cout << '.';
    for (i=n22-1;i>0;i=i-3)
        {
            j=0
            {if((ch22[i]=='0') && (ch22[i-1]=='0') && (ch22[i-2]=='0'))
                ch4[j]='0';
            if((ch22[i]=='0') && (ch22[i-1]=='0') && (ch22[i-2]=='1'))
                ch4[j]='1';
            if((ch22[i]=='0') && (ch22[i-1]=='1') && (ch22[i-2]=='0'))
                ch4[j]='2';
            if((ch22[i]=='0') && (ch22[i-1]=='1') && (ch22[i-2]=='1'))
                ch4[j]='3';
            if((ch22[i]=='1') && (ch22[i-1]=='0') && (ch22[i-2]=='0'))
                ch4[j]='4';
            if((ch22[i]=='1') && (ch22[i-1]=='0') && (ch22[i-2]=='1'))
                ch4[j]='5';
            if((ch22[i]=='1') && (ch22[i-1]=='1') && (ch22[i-2]=='0'))
                ch4[j]='6';
            if((ch22[i]=='1') && (ch22[i-1]=='1') && (ch22[i-2]=='1'))
                ch4[j]='7';
            j++;
            cout << ch4[j];
            }
        }
    cin >> n;//стоп
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru