0 / 0 / 0
Регистрация: 23.07.2017
Сообщений: 7
1

Делал программу, и столкнулся с ошибкой

04.08.2017, 21:58. Показов 393. Ответов 5
Метки нет (Все метки)

Задание звучит так: Напишите программу, крирпая выводит буквы 'a' - 'z' и цифры '0' - '9' и их шестнадцатиричные (или 10-ричные (упрощенно)) коды.

В общем я сделал программу, но выводиться вот это...(картинка ниже). Туплю не подетски...



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
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    setlocale(LC_ALL, "rus"); // установление русской консоли
    char a = 'a';  // инициализация 
    char z = 'z';  // крайних литералов
    int j = (int)z;
    int x,c,n;
    n = 10; // ограничитель массива
    string v[10]; // буфер для хранения цифр 16-чного алфавита
    string s; // будущее 16-ричное число
    
    
    for (int i = (int)a; i != j+1; i++) { // ключевой цикл
        x = 0;
        c = 17;
        
        while (c != 0) {
            c = i / 16;
            x = x % 16;
            v[n] = to_string(x);
            if (v[n] == "10") { v[n] = "A"; };
            if (v[n] == "11") { v[n] = "B"; };
            if (v[n] == "12") { v[n] = "C"; };
            if (v[n] == "13") { v[n] = "D"; };
            if (v[n] == "14") { v[n] = "E"; };
            if (v[n] == "15") { v[n] = "F"; };
 
            n--;
        }
        n = 10;
        for (int i = 10,j = 0; i != 0; i--,j++) {
            v[j] = v[i];
            v[i] = "";
        }
        for (int i = 0; i < 10; i++) {
            s += v[i];
        }
        
        cout << "Букве " << (char)i << " соответствует номеру: 0x" <<s << endl;
        
    }
    cout << "\n";
    a = '0';
    z = '9';
    for (int i = (int)a; i != (int)z + 1; i++) { // ключевой цикл
        c = 17;
        x = i;
        while (c != 0) {
            c = i / 16;
            x = x % 16;
            v[n] = to_string(x);
            if (v[n] == "10") { v[n] = "A"; };
            if (v[n] == "11") { v[n] = "B"; };
            if (v[n] == "12") { v[n] = "C"; };
            if (v[n] == "13") { v[n] = "D"; };
            if (v[n] == "14") { v[n] = "E"; };
            if (v[n] == "15") { v[n] = "F"; };
 
            n--;
        }
        n = 10;
        for (int i = 10, j = 0; i != 0; i--, j++) {
            v[j] = v[i];
            v[i] = "";
        }
        for (int i = 0; i < 10; i++) {
            s += v[i];
        }
        cout << "Символу "<< (char)i<<" соответствует номеру: 0x" << s <<endl;
    }
    cin.get();
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Делал программу, и столкнулся с ошибкой  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.08.2017, 21:58
Ответы с готовыми решениями:

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

Столкнулся с ошибкой дублирования
Всем Привет, я новичек и пока не хватает знаний , столкнулся с такой проблемой у меня в навигации...

Столкнулся с ошибкой пространства имен
Столкнулся с такой ошибкой: error C2871: System: пространство имен с таким именем не существует....

Столкнулся с какой то не понятной ошибкой IAR
Привет. Не понимаю, как получается следующая ошибка Error: no defymition for &quot;__enable_interrupt&quot;....

5
Эксперт C
26088 / 16277 / 3495
Регистрация: 24.12.2010
Сообщений: 35,680
04.08.2017, 22:25 2
NatenMind, будьте проще
C++
1
2
3
4
for(int i='0'; i<='9'; i++)
  printf("%c %d %x\n", i, i, i);
for(int i='a'; i<='z'; i++)
  printf("%c %d %x\n", i, i);
Для вывода через cout надо использовать спецификаторы вместо форматов, но я их на вскидку не помню.
0
866 / 789 / 267
Регистрация: 27.07.2012
Сообщений: 2,227
04.08.2017, 22:29 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
32
33
34
35
36
37
38
39
#include <iostream>
#include <string>
#include <cstdlib>
#include <algorithm>
 
class filler
{
public:
    filler(char begin) : m_begin(begin) {}
    char operator()() {
        char c = m_begin;
        ++m_begin;
        return c;
    }
private:
    char m_begin;
};
 
int main()
{
    const int digits_num = 10;
    const int letters_num = 26;
 
    char digits[digits_num], letters[letters_num];
 
    std::generate(digits, digits + digits_num, filler('0'));
    std::generate(letters, letters + letters_num, filler('a'));
 
    for (int i = 0; i < digits_num; ++i)
        std::cout << digits[i] << " = " << std::hex << "0x" << (int)digits[i] << '\n';
    std::cout << std::endl;
 
    for (int i = 0; i < letters_num; ++i)
        std::cout << letters[i] << " = " << std::hex << "0x" << (int)letters[i] << '\n';
    std::cout << std::endl;
 
    system("pause");
    return 0;
}
ПС. Хотя и тут спошное повторение кода :-)
0
Эксперт C
26088 / 16277 / 3495
Регистрация: 24.12.2010
Сообщений: 35,680
04.08.2017, 22:33 4
Цитата Сообщение от John Prick Посмотреть сообщение
В пень принт-фэ. Это же С++!
Не убедили. С++ прекрасно работает и с printf. И он иногда удобнее и компактнее cout-а. А иногда удобнее и проще именно cout. Так зачем же себя так ограничивать и создавать самому себе неудобства?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11032 / 6984 / 1651
Регистрация: 25.07.2009
Сообщений: 12,739
04.08.2017, 22:33 5
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip>
 
int main() {
    std::cout << "CHAR\tDEC\tHEX\n" << std::endl;
    for ( int i = 'a'; i <= 'z'; ++i )
        std::cout << (char)i << "\t" << std::dec << i << "\t" << std::hex << i << std::endl;
        
    return 0;
}
Код
$ ./a.out 
CHAR	DEC	HEX

a	97	61
b	98	62
c	99	63
d	100	64
e	101	65
f	102	66
g	103	67
h	104	68
i	105	69
j	106	6a
k	107	6b
l	108	6c
m	109	6d
n	110	6e
o	111	6f
p	112	70
q	113	71
r	114	72
s	115	73
t	116	74
u	117	75
v	118	76
w	119	77
x	120	78
y	121	79
z	122	7a
1
John Prick
04.08.2017, 22:48     Делал программу, и столкнулся с ошибкой
  #6

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Не убедили.
И не собирался убеждать :) Это было лёгкое проявление артистической экспресии в пятничный вечер, пусть и в теме про С++.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2017, 22:48

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Только начал изучать с++ и столкнулся с ошибкой
В общем вот код #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; intmain() {...

Столкнулся с такой ошибкой MySQL: There has been a fatal error with the A5 Core
Переделывал скрипт trellis-desk-v1.0.4 Правил в основном css и php Но вскоре выскочила ошибка:...

Столкнулся с ошибкой оператор "/" невозможно применить к операнду типа "группа методов" и "(int)"
Столкнулся с ошибкой при написании кода. Ошибка: оператор &quot;/&quot; невозможно применить к операнду...

Столкнулся с ошибкой "аргумент типа "const char *" несовместим с параметром типа "LPCWSTR"
Привет, столкнулся с ошибкой &quot;аргумент типа &quot;const char *&quot; несовместим с параметром типа &quot;LPCWSTR&quot;&quot;...


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

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

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