5 / 5 / 2
Регистрация: 07.05.2014
Сообщений: 101
1

Из десятичного числа создать символьную строку с двоично десятичным кодом этого числа

20.10.2014, 23:49. Показов 1128. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Условие:
Разработать функцию, которая из десятичного числа создает СИМВОЛЬНУЮ СТРОКУ с двоично десятичным кодом этого числа. Затем сгенерировать МАССИВ из определенного количества целых чисел. На основе разработаной функции вывести табличку, содержащую сгенерированые числа и их двоично-десятичные коды
В чем проблема:
Код корявый, так как переделываю с нуля уже много раз, НО не знаю как сгенерировать массив и на основе чисел вывести табличку, так как массив состоит из целых чисел, а в функции использую символьную строку
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
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <time.h>
 
#define KILK 100
void wtoto(char*,int);
void perevod(char mas[]);
void form_mas(unsigned int m[],int);
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    printf("Введите число\n");
    char*p2;
    char mas[KILK];
    char * p1;
    p1 = mas;
    unsigned int arr[KILK];
 
    int one = 1;
    wtoto(p1,1);
//  printf("\nВведите количество чисел\n");
//  int kolvo;
//  scanf("%d",&kolvo);
//  form_mas(arr,kolvo); 
    
//  wtoto(arr,kolvo);
 
 
    getch();
}
 
void wtoto(char*p1,int kilk){
        char*p2;
        p2=p1;
        for(int j=0;j<kilk;j++){
            while (*p1!='\0'){
                *p1=getchar();
                if (isdigit (*p1)){
                    *p2=*p1-'0';
                    printf("%d ",*p2);
                    perevod(p2);
                }
                if(*p1=='\n')
                    break;
                p1++;   
            }
        }
}
 
void perevod(char * m){
    switch (*m){
    case 0:
        printf("0000 ");
        break;
    case 1:
        printf("0001 ");
        break;
    case 2:
        printf("0010 ");
        break;
    case 3:
        printf("0011 ");
        break;
    case 4:
        printf("0100 ");
        break;
    case 5:
        printf("0101 ");
        break;
    case 6:
        printf("0110 ");
        break;
    case 7:
        printf("0111 ");
        break;
    case 8:
        printf("1000 ");
        break;
    case 9:
        printf("1001 ");
    }
}
 
/*void form_mas(unsigned int arrR[],int kilk){
    srand(time(NULL));
    for(unsigned int *ptr=arrR;ptr < arrR + kilk; ptr++){
        *ptr = rand();
    }       
}*/
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2014, 23:49
Ответы с готовыми решениями:

Вернуть строку, содержащую символьную запись числа в двоично-десятичной СС
Помогите решить задачу в с#!!! Написать метод, входным параметром которого является целое число....

Отобразить символьную запись числа в двоично-десятичной системе счисления
Помогите решить задачу!!! Написать функцию, входным параметром которой является целое число....

Перевод числа из двоично-десятичного в десятичное
Помогите! Нужна программа перевода числа из двоично-десятичного в десятичное

Преобразование двоично-десятичного кода числа в двоичный
Помоги с программой. Нужна функция и код программы преобразования двоично-десятичного кода числа в...

2
...
1806 / 1269 / 936
Регистрация: 12.02.2013
Сообщений: 2,064
21.10.2014, 06:23 2
Правда без исходного массива, но я думаю вы справитесь. Сама идея вроде видна.
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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
//-----------------------------------------------------------------------------
char* dec2bcd(unsigned dec, char* bcd) {
    unsigned cnt = 0, num;
    *bcd = 0;
    for (; dec; dec /= 10) {
        num = dec % 10;
        memmove(bcd + 4, bcd, cnt++ * 4 + 1);
        *(bcd + 0) = (num & 0x08) ? '1' : '0';
        *(bcd + 1) = (num & 0x04) ? '1' : '0';
        *(bcd + 2) = (num & 0x02) ? '1' : '0';
        *(bcd + 3) = (num & 0x01) ? '1' : '0';
    }
    return bcd;
}
//-----------------------------------------------------------------------------
void write(unsigned value) {
    char bcd[41];
    printf("%10d | %s\n", value, dec2bcd(value, bcd));
}
//-----------------------------------------------------------------------------
 
int main() {
    int i;
 
    for (i = 0; i < 20; ++i) {
        write(rand());
    }
 
    return 0;
}
0
5 / 5 / 2
Регистрация: 07.05.2014
Сообщений: 101
21.10.2014, 15:54  [ТС] 3
Тему прошу закрыть, так как перечитал задание и все стало понятно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2014, 15:54
Помогаю со студенческими работами здесь

Посчитать среднее арифметическое цифр двоично-десятичного числа
1)Посчитать среднее арифм. цифр двоично-десятичного числа. 2)Вывести на экран максимальное...

Узнать максимальный и минимальный размер двоично-десятичного числа
Всем привет. В общем, тут такое дело. Нужно узнать максимальный и минимальный размер...

Перевод десятичного числа в двоично-десятичную систему счисления
Разработать программу, выполняющую перевод десятичного числа в двоично-десятичную систему.

Перевод десятичного числа в двоично-десятичную систему счисления
Разработать программу и подпрограмму (подпрограммы), выполняющие действия согласно варианту задания...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru