Jméno obráceně. – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Jméno obráceně. – C / C++ – Fórum – Programujte.comJméno obráceně. – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
DeathHumanCZ0
Stálý člen
5. 10. 2007   #1
-
0
-

Dobré/ý ráno/den/večer, zase jeden z hloupích dotazů. Chci napsat jméno obráceně, ale mám problém v počtu polí.
Když budu mít:

char jmeno[25];

a nechám uživatele ať mi napíše jméno a já ho chci vypsat obráceně
používám:
cout << " Tvoje jmeno pozpatku je:"<< jmeno[25] << jmeno [24]<<...

A při vypsání je ten problém, jelikož jsou v proměné ještě prázdná pole tak to vždy napíše mezeru nebo zvláštní znak.
Můžu nějak vypsat pouze tu část proměné kde jsou vepsány znaky?

Nahlásit jako SPAM
IP: ...–
Vskutku...
Reklama
Reklama
Zelenáč0
Posthunter
5. 10. 2007   #2
-
0
-

fce strlen ti zjisti delku retezce.. takze nejak takhle:



char jmeno[30] = "Jakub";
char prevracene[30];
int delka = strlen(jmeno);
for(int i=delka; i>=0; i--){
prevracene[delka-1] = jmeno[i];
}
prevracene[delka+1] = '\0';

Nahlásit jako SPAM
IP: 89.176.254.–
tmi0
Věrný člen
26. 10. 2007   #3
-
0
-

no tohle by asi nefungovalo, mel by tam byt misto prikazu prevracene[delka-1] prikaz prevracene[delka-i]. ale verim tomu ze to je jen prepsani)
a vzhledem k tomu ze se v C pole indexuji od 0 by take stacilo na konci misto prevracene[delka+1] pouze prevracene[delka]. a v inicializacnim prikazu cyklu for by take melo byt i=delka-1 misto i=delka: strlen totiz vraci pocet znaku bez '\0', takze na pozici [delka] uz je znak '\0', ktery asi neni urcen ke kopirovani

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Karel
~ Anonymní uživatel
121 příspěvků
26. 10. 2007   #4
-
0
-

Nevim, jestli používáš C, nebo C++, pokud C++ je mnohem jednoduší provést něco takového



#include <iostream>
#include <algorithm>
#include <string>

int main(int argc, char *argv[])
{
std::string s;
std::cin >> s;
reverse(s.begin(), s.end());
std::cout << s << std::endl;

return 0;
}

Nahlásit jako SPAM
IP: 85.71.139.–
DeathHumanCZ0
Stálý člen
26. 10. 2007   #5
-
0
-

To Karel : To je teda jednoduchý... :-D

Nahlásit jako SPAM
IP: 89.235.0.–
Vskutku...
Zelenáč0
Posthunter
26. 10. 2007   #6
-
0
-

To Karel : Nemam rad ty pochybne C++ckovske typy jako string :-) Ani nevim, jak se v tom pristupuje k jednotlivym znakum.. Zkratka to ztraci to kouzlo a nizkourovnovost Cecka..

Nahlásit jako SPAM
IP: 89.176.254.–
Jura
~ Anonymní uživatel
634 příspěvků
26. 10. 2007   #7
-
0
-

To Zelenáč : Ty pochybně vypadající C++ stringy ti v životě usnadní mnoho práce. Ačkoliv souhlasím s tím, že jejich implementace není úplně nejlepší.

Nahlásit jako SPAM
IP: 85.207.192.–
tmi0
Věrný člen
27. 10. 2007   #8
-
0
-

jak kdy. nekdy je implementace pomoci obycnejnejch poli celkem snadna (jako v tomhle pripade) a urcite efektivnejsi, jindy je lepsi pouzit string. trochu se mi nelibi nekdy az striktni pristup C++ "at je vsechno objekt!" objekt ma existovat predevsim v programatorove hlave, v programu jen u vetsich projektu

Nahlásit jako SPAM
IP: 89.185.230.–
ksp.mff.cuni.cz -- doporučuje 5 z 0 přetečených bufferů!
Jura
~ Anonymní uživatel
634 příspěvků
27. 10. 2007   #9
-
0
-

To tmi :
Souhlasím s tím, že někdy nemá smysl používat string, ale tvrzení, že C++ vyžaduje všechno jako objekty má své opodstatnění. A vzhledem k tomu, že C++ podporuje vyjímky, tak se ani není čemu divit.

Nahlásit jako SPAM
IP: 85.207.192.–
Karel
~ Anonymní uživatel
121 příspěvků
27. 10. 2007   #10
-
0
-

To Zelenáč : Já myslím, že si to vystihl přesně, ztrácí se tam nízkoúrovňovost C... Právě z toho důvodu mám také rači C++. ;-)

Nahlásit jako SPAM
IP: 85.71.139.–
Zelenáč0
Posthunter
27. 10. 2007   #11
-
0
-

To Karel : Jasne, je to individualni.. Ja mam rad, kdyz neco muzu ovladat - kdyz presne vim, jak to funguje. Hlavni smysl OOP je pritom pravy opak..

Nahlásit jako SPAM
IP: 89.176.254.–
Jeyekomon0
Stálý člen
31. 10. 2007   #12
-
0
-

To Karel :
Muzu jen takovy hloupy dotaz - proc tam mas vsude std:: ?? Ma to nejake vyhody to tam nechavat ?
Ja jsem vzdycky jen napsal "using namespace std" a dal se tim uz nezabyval .. Dik

Nahlásit jako SPAM
IP: 195.113.20.–
jjk
Karel
~ Anonymní uživatel
121 příspěvků
31. 10. 2007   #13
-
0
-

To Jeyekomon : Výhody, to je dost subjektivní. Faktem ovšem je, že jmenné prostory slouží zejména k tomu, aby se to "nebilo" s jinými knihovnami, resp. třídami se stejným názvem. Mně osobně se to zdá hlavně přehlednější. Každopádně to dnes už také nepoužívám, i když je pravda, že hlavně proto, že jsem nahradil std jinými knihovnami. Nemá to ve většině případů nějaké zásadní výhody, naopak nespornou výhodou je pokud ušetří člověk těch pár stisknutí na klávesnici, přesto skutečně jestliže v tom člověk ještě nemá úplně jasno a zamíchá si tam další knihovny i tak neztrácí přehled o tom "z které bere". Tedy, o nic víc, než o přehlednost mi tam nejde. Toš, asi tak :-)

Nahlásit jako SPAM
IP: 85.71.139.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 39 hostů

Podobná vlákna

číslo obráceně — založil Lukas

Jde to i obráceně ? — založil gastonx

Jméno servru — založil Borek

Jmeno presidenta — založil marek17

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý