C++ Abeceda - algoritmus
C++ Abeceda - algoritmus
Ahojte ...
robím taký jeden program, no a potrebujem tam taký kus kódu, ktorý by spravil asi toto :
1. Zadáte 2 písmena.
2. On si ich musí zaradiť do abecedy
3. Vráti číslo, ktoré bude vzdialenosť tých 2 písmen v abecede
napr. Zadám M a F. Ono si ich nájde v abecede a vráti mi že sú od seba vzdialené 7 miest.
Ďakujem.
robím taký jeden program, no a potrebujem tam taký kus kódu, ktorý by spravil asi toto :
1. Zadáte 2 písmena.
2. On si ich musí zaradiť do abecedy
3. Vráti číslo, ktoré bude vzdialenosť tých 2 písmen v abecede
napr. Zadám M a F. Ono si ich nájde v abecede a vráti mi že sú od seba vzdialené 7 miest.
Ďakujem.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: C++ Abeceda - algoritmus
stačí ti odrátať ich ordinálne hodnoty a výsledok dať do absolútnej hodnoty. Na prevod znaku na číslo použiješ funkciu atoi(), absolútna hodnota je abs()
Re: C++ Abeceda - algoritmus
prosím hodíš mi tu dajaký príklad ? nechápem tomu len tak z "poučky"
ďakujem
ďakujem
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: C++ Abeceda - algoritmus
cout << "rozdiel je: " << abs(atoi(znak1) - atoi(znak2));
občas nemám slov
občas nemám slov
Re: C++ Abeceda - algoritmus
pozri si ASCII tabulku...kazdemu znaku je tam pridelene cislo a urcity blok tvoria aj male (prip. velke) pismena
"a" prislucha 97 ak sa nemylim, tj. "c" bude mat hodnotu 99
ked urobis rozdiel tych cisel v absolutnej hodnote, dostanes ich vzdialenost |97-99|=2
"a" prislucha 97 ak sa nemylim, tj. "c" bude mat hodnotu 99
ked urobis rozdiel tych cisel v absolutnej hodnote, dostanes ich vzdialenost |97-99|=2
-
Ing. Gandalf
Expert
- Príspevky: 178
- Registrovaný: 02 feb 2007, 19:46
Re: C++ Abeceda - algoritmus
IMHO jednoduche. Staci odcitat od seba ordinalne hodnoty znakov. Mensiu od vacsej. Ak to nie je uloha do skoly, mozem to urobit v pascale.
//neskory...
//neskory...
Re: C++ Abeceda - algoritmus
ja viem ze som pako : ako ziskam z pola znakov (char pole[30]) napr prvy znak ?
dlho som necital knihu
dakujem
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: C++ Abeceda - algoritmus
pole[0]
a na toto knihu netreba
a na toto knihu netreba
Re: C++ Abeceda - algoritmus
omg .. ja som deb.il
//autoeditácia príspevku (24 Okt 2010, 20:42)
pls este jedna vec ...
srand((unsigned)time(NULL));
preco mi hadze chybu ? co mam includovat ? prosim ..
chyba je konkretne nieco s construktorom a destructorom ...
//autoeditácia príspevku (24 Okt 2010, 20:42)
pls este jedna vec ...
srand((unsigned)time(NULL));
preco mi hadze chybu ? co mam includovat ? prosim ..
chyba je konkretne nieco s construktorom a destructorom ...
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: C++ Abeceda - algoritmus
najprv napíš akú chybu ti hádže
Re: C++ Abeceda - algoritmus
uz som to spravil ... (to srand
) prva verzia (test) ide ... idem tam popridavat nejake prvky este tak nelockujte ! verim ze vas budem potrebovat
//autoeditácia príspevku (25 Okt 2010, 13:21)
no ...
mam :
char V = 'v';
a potom niekde inde
vysledokPismeno = abs(atoi(V) - atoi(meno[0]));
chyby pri kompilaci :
-> invalid conversion from `char' to `const char*'
-> initializing argument 1 of `int atoi(const char*)'
a to iste este raz ...
co som tam napisal zle ? musim tam nejako pouzit tu tabulku ASCII ?
//autoeditácia príspevku (25 Okt 2010, 13:21)
no ...
mam :
char V = 'v';
a potom niekde inde
vysledokPismeno = abs(atoi(V) - atoi(meno[0]));
chyby pri kompilaci :
-> invalid conversion from `char' to `const char*'
-> initializing argument 1 of `int atoi(const char*)'
a to iste este raz ...
co som tam napisal zle ? musim tam nejako pouzit tu tabulku ASCII ?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: C++ Abeceda - algoritmus
const char* V = "v";
Re: C++ Abeceda - algoritmus
kde to mam presne vlozit ?
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: C++ Abeceda - algoritmus
namiesto tvojho char V = 'v';
Re: C++ Abeceda - algoritmus
no to som spravil este pred tym ako som sa spytal ... no a uz tam je iba jedna ta chyba .. no proste 2 len oni boli 2x
Re: C++ Abeceda - algoritmus
To audiotrack: chyba! atoi() prevadza iba cisla z retazca znakov, cize ak mas retazec "v" a zavolas nanho atoi() tak ti to vrati hodnotu 0.
Tu ako by ten program vyzeral v C++ (bohuzial s standartnym C som uz davno nerobil, ale v nom by to malo vyzerat priblizne rovnako):
Tu ako by ten program vyzeral v C++ (bohuzial s standartnym C som uz davno nerobil, ale v nom by to malo vyzerat priblizne rovnako):
Kód: Vybrať všetko
#include <iostream>
using namespace std;
int main()
{
char a, b;
cin >> a;
cin >> b;
toupper(a);
toupper(b);
cout << "Su od seba vzdialene " << abs(int(a) - int(b)) << " miest";
cin.get();
}Re: C++ Abeceda - algoritmus
dakujem vsetkym .. wolf tvoje riesenie mi ide ! davam ti karmu+ ... DAKUJEM VSETKYCH a hlavne AUDIOTRACK-ovi za ochotu 