Mam do napisania program, który zamienia słowo napisane szesnastkowo na liczbę w systemie dziesiętnym... Czy ktoś mi pomoże? Bardzo potrzebuję pomocy.
A co już sam napisałeś? Nikt tu nie zrobi tego za Ciebie.
Choć, zlituję się. Nie znam języka C+ więc dam w Ruby:
puts $_.to_i(16) while gets
Niestety nic, nie mialem czasu aby sie przygotowac, organizacja Juwenaliów... bardzo proszę o pomoc.
W C+
Hmmmm w takim razie nie nazwał bym tego pomocą, a odwalaniem roboty za Ciebie. Ale bez przesady, to zajmie z 5' więc to, że organizowałeś Juwenalia Cię nie tłumaczy. Zanim to przeczytasz powinieneś już był mieć to zrobione. To nie zajmuje aż tak dużo czasu.
Jestem teraz na zajęciach, dostałem to zadanie i nie potrafie go zrobić, przyznaje się ze sie nie przygotowalem, jesli nie dostane pomocy, trudno, bede mogl byc zly tylko na siebie. Dziekuje za jakakolwiek pomoc
To pomogę trochę:
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
10 = a
11 = b
12 = c
13 = d
14 = e
15 = f
16 = 10
17 = 11
18 = 12
19 = 13
20 = 14
21 = 15
22 = 16
23 = 17
24 = 18
25 = 19
26 = 1a
27 = 1b
28 = 1c
29 = 1d
30 = 1e
31 = 1f
32 = 20
33 = 21
34 = 22
35 = 23
36 = 24
37 = 25
38 = 26
39 = 27
40 = 28
41 = 29
42 = 2a
43 = 2b
44 = 2c
45 = 2d
46 = 2e
47 = 2f
48 = 30
49 = 31
50 = 32
51 = 33
52 = 34
53 = 35
54 = 36
55 = 37
56 = 38
57 = 39
58 = 3a
59 = 3b
60 = 3c
61 = 3d
62 = 3e
63 = 3f
64 = 40
65 = 41
66 = 42
67 = 43
68 = 44
69 = 45
70 = 46
71 = 47
72 = 48
73 = 49
74 = 4a
75 = 4b
76 = 4c
77 = 4d
78 = 4e
79 = 4f
80 = 50
81 = 51
82 = 52
83 = 53
84 = 54
85 = 55
86 = 56
87 = 57
88 = 58
89 = 59
90 = 5a
91 = 5b
92 = 5c
93 = 5d
94 = 5e
95 = 5f
96 = 60
97 = 61
98 = 62
99 = 63
100 = 64
101 = 65
102 = 66
103 = 67
104 = 68
105 = 69
106 = 6a
107 = 6b
108 = 6c
109 = 6d
110 = 6e
111 = 6f
112 = 70
113 = 71
114 = 72
115 = 73
116 = 74
117 = 75
118 = 76
119 = 77
120 = 78
121 = 79
122 = 7a
123 = 7b
124 = 7c
125 = 7d
126 = 7e
127 = 7f
128 = 80
129 = 81
130 = 82
131 = 83
132 = 84
133 = 85
134 = 86
135 = 87
136 = 88
137 = 89
138 = 8a
139 = 8b
140 = 8c
141 = 8d
142 = 8e
143 = 8f
144 = 90
145 = 91
146 = 92
147 = 93
148 = 94
149 = 95
150 = 96
151 = 97
152 = 98
153 = 99
154 = 9a
155 = 9b
156 = 9c
157 = 9d
158 = 9e
159 = 9f
160 = a0
161 = a1
162 = a2
163 = a3
164 = a4
165 = a5
166 = a6
167 = a7
168 = a8
169 = a9
170 = aa
171 = ab
172 = ac
173 = ad
174 = ae
175 = af
176 = b0
177 = b1
178 = b2
179 = b3
180 = b4
181 = b5
182 = b6
183 = b7
184 = b8
185 = b9
186 = ba
187 = bb
188 = bc
189 = bd
190 = be
191 = bf
192 = c0
193 = c1
194 = c2
195 = c3
196 = c4
197 = c5
198 = c6
199 = c7
200 = c8
201 = c9
202 = ca
203 = cb
204 = cc
205 = cd
206 = ce
207 = cf
208 = d0
209 = d1
210 = d2
211 = d3
212 = d4
213 = d5
214 = d6
215 = d7
216 = d8
217 = d9
218 = da
219 = db
220 = dc
221 = dd
222 = de
223 = df
224 = e0
225 = e1
226 = e2
227 = e3
228 = e4
229 = e5
230 = e6
231 = e7
232 = e8
233 = e9
234 = ea
235 = eb
236 = ec
237 = ed
238 = ee
239 = ef
240 = f0
241 = f1
242 = f2
243 = f3
244 = f4
245 = f5
246 = f6
247 = f7
248 = f8
249 = f9
250 = fa
251 = fb
252 = fc
253 = fd
254 = fe
255 = ff
Tu masz wszystkie liczby hex od 0 do FF razem z zapisem dziesiętnym.
Swoją drogą niedawno był tutaj link do epickiego kodu w C++ z drabinką if'ów :D
Spróbuj coś z tego zrobić - znaleznione na GOOGLACH:
#include <iostream>
using namespace std;
void main()
{
int a = 0xf6, b = 0xe3, c = 0x11;
int w;
a = a << 16;
b = b << 8;
cout << hex << a+b+c;
cin.get();
}
@up: dodaełm: (tez znalezione)
Przesuniecie w lewo: zmienna << ile_miejsc, przesunięcie w prawo: zmienna >> ile_miejsc. Oba pracują na argumentach typu całkowitego.
Cóż... będę musiał się poddać :/ za 10min koniec zajęć. Dziękuję heheh i winterfresh za jakikolwiek odzew. Pozdrawiam
Szukalem kodu i niestety znaleŹĆ nie moglem.
Paskudny kod stworzony przez @mikaskami http://4programmers.net/Forum/Off-Topic/Oceny_i_recenzje/179497-codeforsalepl?p=741496#id741496
#include <map>
#include <iostream>
#include <string>
using namespace std;
int main()
{
map<short,short> mapa;
char a,b;
int i;
for(a='0',b='/',i=0;a!='F'||b!='F';b=(b=='F'?(a++,'0'):b+1),a=(a==':'?'A':a),b=(b==':'?'A':b),mapa[(a<<8)+b]=i++);
string napis;
cout<<"Podaj liczbe szesnastkowa: ";
for(getline(cin,napis);1&napis.length();napis='0'+napis);
i=0;
for(unsigned int z=0;z<napis.length();z+=2)
{
string bajt=napis.substr(z,2);
for (int r=1;r>-1;r--)
if (bajt[r]>'Z') bajt[r]-=' ';
i<<=8;
i+=mapa[(bajt[0]<<8)+bajt[1]];
}
cout<<"Liczba dziesietna to "<<i<<endl;
}
A nie lepiej:
int hex_to_dec(const string& s) {
int ret = 0, pow = 1;
static const int vals[] = {10, 11, 12, 13, 14, 15};
for(string::const_iterator i = s.begin(); i != s.end(); ++i, pow *= 16)
if(*i >= '0' && *i <= '9')
ret += (*i - '0') * pow;
else if(*i >= 'a' && *i <= 'f')
ret += vals[*i - 'a'] * pow;
else if(*i >= 'A' && *i <= 'F')
ret += vals[*i - 'A'] * pow;
else
return -1;
return ret;
}
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.