Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
osipov93
3 / 3 / 2
Регистрация: 17.10.2011
Сообщений: 131
#1

как сделать эти задачи? - C++

22.12.2011, 00:43. Просмотров 662. Ответов 7
Метки нет (Все метки)

Лабораторная 4.
Задание: Напишите программу перевода чисел (длиной 8 бит) из одной системы счисления в другую.

-Перевод из системы по основанию 2 в систему по основанию 10;
Указание: программа должна выдавать сообщение если вводимое число не в 2-ой системе. И программа должна переводить дробную часть. те после запятой


Лабораторная 5.
Задание: Напишите программу выполнения арифметических операций в разных системах счисления.
-Числа по основанию 8 и 4. Выполнить операцию умножения.

Добавлено через 5 часов 22 минуты
лабораторную 4 сделал. нужно сделать 5-ую
http://www.cyberforum.ru/cpp-beginners/thread730900.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 00:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос как сделать эти задачи? (C++):

Как перегрузить ++А и А++ и сделать эти перегрузки разными операциями?
------------------------------------------------------------ Если А++...

Подскажите как сделать чтобы эти дроби не выводились, а записались в массив str1[100]
Подскажите как сделать чтобы эти дроби не выводились, а записались в массив...

Не могу осилить эти задачи
Здравствуйте уважаемые ребята. Срочно требуется помощь в решении ниже указанных...

Стек cmd содержит комманды; как сделать так, чтобы эти команды выполнялись в отдельных потоках?
Стек cmd содержит комманды. Нужно сделать так, чтобы эти команды выполнялись в...

Пожалуйсто помагите написать эти две задачи на с++
Пожалуйсто помагите написать эти две задачи на с++ ссесию мне бе них не закрыть...

7
hoot
101 / 22 / 7
Регистрация: 10.11.2010
Сообщений: 208
22.12.2011, 00:49 #2
Скинь код 4 лабы. Люди будут искать, твой код поможет.
0
osipov93
3 / 3 / 2
Регистрация: 17.10.2011
Сообщений: 131
22.12.2011, 00:59  [ТС] #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
using namespace std;
int main(){
 string str;
 int k=0;
 double ch=0;
 cin>>str;
 int n = str.size();
 for (int i=0; i<n; i++){
        if(str[i] != '1' && str[i] != '0' && str[i] != ',' && str[i] != '.') {
                cout << "Chislo vvedeno neverno" << endl;
                system("pause");
                return 0;
        }
        if ((str[i]==',') || (str[i]=='.')) {
                k=i;
        }
 }
 if (k==0) k=n;
 for (int i=0; i<n; i++){
        if ((str[i]!=',') && (str[i]!='.')){
                k=k-1;
        }
        if (str[i]=='1'){
                ch = ch+(1*pow(2,(double)k));
        }
 }
 cout<<endl<<ch<<endl;
 system("pause");
 return 0;
}
помогите пожалуйста со второй
0
-=ЮрА=-
Заблокирован
Автор FAQ
22.12.2011, 15:01 #4
Код ниже складывает и умножает в 8-ной и 16-ной системах
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    int a,b;
    cout<<"Enter dec value a : ";cin>>a; 
    cout<<"Enter dec value b : ";cin>>b; 
    cout<<"OCT a + b\n";
    cout<<oct<<a + b<<endl;
    cout<<"HEX a + b\n";
    cout<<hex<<a + b<<endl;
    cout<<"OCT a * b\n";
    cout<<oct<<a * b<<endl;
    cout<<"HEX a * b\n";
    cout<<hex<<a * b<<endl;
    system("pause");
    return 0;
}
0
Миниатюры
как сделать эти задачи?  
osipov93
3 / 3 / 2
Регистрация: 17.10.2011
Сообщений: 131
22.12.2011, 15:17  [ТС] #5
нужно умножить числа по основанию 8 и 4 в ответе должно быть число по основанию 4.
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.12.2011, 15:54 #6
Если не заморачиваться с длинкой, то как-то так

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
#include <iostream>
#include <string>
 
long long intpow( int a, int b )
{
    
    if ( b == 0 )
        return 1;
    
    long long c = a;
    
    while ( --b > 0 )
        c *= a;
        
    return c;   
}
 
 
long long x_to_dec( const std::string &a, int radix ) 
{
    long long res = 0;
    
    for (int i = a.length() - 1, k = 0; i >= 0; --i, ++k)
    {
        res += (a[i] - '0') * intpow(radix, k);
    }
    
    return res;
}
 
std::string dec_to_x( long long a, int radix ) //radix не больше 10
{
    std::string res;
    
    while ( a != 0 )
    {
        res.push_back( a % radix + '0' );
        a /= radix;
    }
    
    return std::string( res.rbegin(), res.rend() );
}
 
int main()
{
    std::cout << dec_to_x(  x_to_dec("123", 4) * x_to_dec("123", 8), 4 );
}
0
osipov93
3 / 3 / 2
Регистрация: 17.10.2011
Сообщений: 131
22.12.2011, 16:31  [ТС] #7
программа открывается и сразу закрывается
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
22.12.2011, 16:33 #8
http://www.cyberforum.ru/cpp-beginners/thread10807.html
0
22.12.2011, 16:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2011, 16:33
Привет! Вот еще темы с решениями:

Кто может помогать мне на эти задачи пожалуйста
1. Вычислить сумму элементов массива Х(N), удовлетворяющих условию Xi&gt;M, где...

Как сделать задачи по программированию в Dev-C++?
Работа 1. Задание №1: Объявить переменные, необходимые для вычисления объема...

как работают эти 4 функции
Подскажите как работают эти 4 функции CTime CTime::operator ++() CTime...

Как исправить эти ошибки
как исправить ети ошибки Код: #include&lt;iostream.h&gt; #include&lt;conio.h&gt;...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru