Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: oyankee 12 Ledna 2010, 19:18:38
-
mám string např. 1BB1A95F
Potrebuji z toho mít: 5FA9B11B
Takže reverse po dvojci čísel. Poradil by mi někdo, prosím? Může to být i v bashi.
-
Snad to funguje jak má, je to zprasený na rychlo, snad sem pochopil zadání
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
string retezec;
string tmp_retezec;
cout << "Zadejte řetězec: ";
cin >> retezec;
for (int i = retezec.length() - 1; i >= 0; i = i - 2) {
tmp_retezec += retezec[i-1];
tmp_retezec += retezec[i];
}
cout << tmp_retezec << endl;
return 0;
}
g++ -o revstring revstring.cpp
[prema@fedora ~]$ ./revstring
Zadejte řetězec: 1BB1A95F
5FA9B11B
-
hmno ;D, ja jsem vůl.
Díky moc! Pochopil si to velmi dobře.
-
Nebo ješte lepší
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char *argv[])
{
string retezec = argv[1];
string tmp_retezec;
for (int i = retezec.length() - 1; i >= 0; i = i - 2) {
tmp_retezec += retezec[i-1];
tmp_retezec += retezec[i];
}
cout << tmp_retezec << endl;
return 0;
}
[prema@fedora ~]$ ./revstring 1BB1A95F
5FA9B11B
Ale oba kódy neošetřují žádné chyby :).
-
jj, to už pořeším