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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы http://www.cyberforum.ru/cpp-beginners/thread282085.html
Ввести с клавиатуры массив целых чисел и вывести его на экран в виде матрицы 3 * 3 (двохмирний массив)
C++ Ввести с клавиатуры массив из 10 целых чисел, посчитать сумму и вывести на экран Ввести с клавиатуры массив из 10 целых чисел, посчитать сумму и вывести на экран http://www.cyberforum.ru/cpp-beginners/thread282082.html
C++ Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на экран если он есть, а если нет то сообщение что она отсутствует.
Ввести с клавиатуры фамилию и задать букву на поиск (любую) тогда вывести ее на экран если он есть, а если нет то сообщение что она отсутствует.
Замена слова в файле C++
Дорогие програмисты, помогите молодому студенту с написанием программы которая заменяет слово в файле. Тоесть пользовалель вводит слово которое надо заменить, потом вводит на которое надо заменить и програма заменяет это слово в файле. У меня не получаеться сделать цикл с проверкой этого слова в файле и потом заменой его..( Или кто может дать ссылку где об этом можно прочитать.. Заранее...
C++ Ввести с клавиатуры фамилию и вывести ее в столбик http://www.cyberforum.ru/cpp-beginners/thread282076.html
Ввести с клавиатуры фамилию и вывести ее в столбик (каждую букву с новой строки)
C++ выбрасывание из списка одинаковых элементов Создать список на языке С++,который разрешает создать односторонний связанный список(используя динамические структуры данных), в котором хранится значения конкретного типа.Нужно быть возможности дополнить список новым элементом(добавить элемент в конце списка), напечатать список,удалить список.Удаляя список следует корректно освободить выделенное место. Главная программа: 1)должна быть... подробнее

Показать сообщение отдельно
gimla
0 / 0 / 0
Регистрация: 12.05.2016
Сообщений: 1
12.05.2016, 10:19     Перевод из одной системы счисления в другую.
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
#include<stdio.h>
#include<ctype.h>
#include<math.h>
#include<stdlib.h>
 
void IsErrorNotation(int i){ /*проверка ошибок ввода*/
    if(i<2||i>16){
        puts("Error: numeric system must be between [2...16]");
        exit(1);
    }
}
 
void IsErrorNumber(char* a, int basefrom){  /*проверка ошибок ввода*/
    if(basefrom<=10){
        for(; *a; ++a){
            if(*a<48||*a>=48+basefrom){
                printf("Error: all inputted number symbols must be between [0...%d]", basefrom-1);
                exit(1);
            }
        }
    }
}
 
int main(){
    int i=0, x=0, basefrom, baseto;
    char a[20]={'\0'}, b[20], *p=a;
    puts("Input numeric system [2...16]"); /*исходная система счисления*/
    scanf("%d", &basefrom);
    IsErrorNotation(basefrom);
    puts("Input final numeric system [2...16]"); /*результирующая система счисления*/
    scanf("%d", &baseto);
    IsErrorNotation(baseto);
    getchar();
    printf("Input number in %d notation:\n", basefrom); /*заданное число*/
    gets(a);
    IsErrorNumber(a, basefrom);
    while(*(p+1)) ++p;
    for(; p>=a; --p, ++i){
        if(*p>'9'){
            *p=toupper(*p);
            *p-=7;
        }
        m+=(*p-48)*pow(static_cast< double >(basefrom), i);
    }
    printf("number in 10 notation:\n%d\n", m);
    i=0;
    while (m){
        b[i]=m%baseto;
        m/=baseto;
        ++i;
    }
    printf("number in %d notation:\n", baseto);
    while(--i>=0){
        b[i]>9? printf("%c", b[i]+55): printf("%d", b[i]);
    };
}
 
Текущее время: 20:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru