Pomoc – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc – C / C++ – Fórum – Programujte.comPomoc – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
9. 9. 2011   #1
-
0
-

Ahoj,

učím se programovat v c++ a ve čtvrté lekci bylo za úkol vytvořit program, který by mimo jiné    vypsal jméno pozpátku, bohužel nedokážu pochopit tuhle část, kterou jsem okoukal z úkolu někoho jiného. Bylo by jednoduché to opsat, ale rád bych to pochopil díky.  

for(int x=strlen(jmeno+1); 0<=x; x--)
{
cout << jmeno[x];

}

Nahlásit jako SPAM
IP: 213.155.238.–
turbo-snek0
Newbie
9. 9. 2011   #2
-
0
-

zkus napsat 

cout << jmeno[x-1];

potom by ti to melo jit

Nahlásit jako SPAM
IP: 213.192.60.–
CZechBoY+4
Věrný člen
9. 9. 2011   #3
-
+1
-
Zajímavé

velmi zajímavé a zároveň výkonné :)

cyklus for (asi znáš) je cyklus s pevným počtem opakování (ne vždy tomu tak je v C jazycích)
cyklus si ze začátku nastaví proměnnou x na délku řetězce (počet znaků), poté tuto hodnotu snižuje (x--) až do doby kdy x<=0 - prostě dojde na poslední písmeno (pole jsou indexována od nuly)

příkaz cout potom vypíše písmeno z pole znaků (myslím že to funguje i pro obyčejné řetězce, takže to nemusí být nutně pole)

Nahlásit jako SPAM
IP: 213.192.10.–
crazy
~ Moderátor
+10
Grafoman
9. 9. 2011   #4
-
+1
-
Zajímavé

elegantnější řešení je:

string s = "Ahoj, světe!";
std::cout << string(s.rbegin(), s.rend()) << std::endl;
Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
vit
~ Anonymní uživatel
19 příspěvků
9. 9. 2011   #5
-
0
-

#1 piwolukas

int x=strlen(jmeno +1)

tato cast bude fungovat len ak je retazec nenulovej dlzky, ak je nulovy tak inkrementujes poziciu retazca za '\0' a  strlen bude pracovat s neukoncenym retazcom (v lepsom pripadne program havaruje) 

lepsie je pouzit toto:

int x=strlen(jmeno)-1

Nahlásit jako SPAM
IP: 95.105.128.–
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, 12 hostů

Podobná vlákna

Pomoc !!! — založil Vlasta

Pomoc — založil Aikon

Pomoc — založil Michael

Moderátoři diskuze

 

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