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

Obracení řetězce – C / C++ – Fórum – Programujte.comObracení řetězce – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Marty
~ Anonymní uživatel
32 příspěvků
3. 1. 2011   #1
-
0
-

Ahoj, začínam s C++ a rozhodl jsem si udělat program na převrácení řetězce. Jenže mi to nějak nefunguje a já tam nevidim chybu. Vždycky zadam nějakej řetězec, ale pak už mi ho obrácenej nevrátí.

Tady je kód:

#include <iostream>


using namespace std;

int main ()
{
char String[100];
char ReverseString[100];

cout << "\n\nZadejte retezec, ktery chcete prevratit: ";
cin.getline (String,100);

int x = sizeof String;
int i, y;

for (i=x; i==0; i--)
{
ReverseString[y]=String[i];
y++;
}

cout << "Prevraceny retezec: " << ReverseString << endl;

return 0;
}


Ani přesě nevim, jestli na to jdu správně a nemam tam ještě nějaký jiný chyby. Ale já už v tom dneska fakt nic nevidim.

Nahlásit jako SPAM
IP: 89.102.128.–
Reklama
Reklama
crAzY^
~ Moderátor
+10
Grafoman
3. 1. 2011   #2
-
0
-

no máš to v c++ tak nejjednodušší to bude, když to uděláš nějak následovně:

#include <iostream>

#include <string>
#include <algorithm>

using namespace std;

int main(void) {
string s;
cin >> s;

reverse(s.begin(), s.end());

cout << "Prevraceny string: " << s << endl;

return 0;
}


nezkoušel jsem to, ale mělo by to fungovat...

Nahlásit jako SPAM
IP: 89.190.90.–
All you need is vision and time.
Marty
~ Anonymní uživatel
32 příspěvků
3. 1. 2011   #3
-
0
-

O týhle funkci vim, ale chtěl jsem si to obrátit sám, ať se taky něco naučim :)

Nahlásit jako SPAM
IP: 89.102.128.–
KIIV+42
God of flame
3. 1. 2011   #4
-
0
-

To Marty : no minimalne sizeof ti nezjisti velikost nacteneho retezce, ale hodi proste velikost pole.. tj 100
od toho je strlen

Nahlásit jako SPAM
IP: 94.142.234.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Marty
~ Anonymní uživatel
32 příspěvků
3. 1. 2011   #5
-
0
-

Díky, hledal jsem si tu funkci podle internetu a asi jsem to pšatně pochopil. Ale i přesto mi to nevrací obrácenou hodnotu. Prostě to udělá prázdnou mezeru a program se ukončí.

Nahlásit jako SPAM
IP: 89.102.128.–
Marty
~ Anonymní uživatel
32 příspěvků
3. 1. 2011   #6
-
0
-

*špatně

Nahlásit jako SPAM
IP: 89.102.128.–
Marty
~ Anonymní uživatel
32 příspěvků
3. 1. 2011   #7
-
0
-

Tak už mi to funguje:

#include <iostream>


using namespace std;

int main ()
{
char String[100];
char ReverseString[100];

cout << "\n\nZadejte retezec, ktery chcete prevratit: ";
cin.getline (String,100);

int i=0;
int y=0;

for (i=strlen(String)-1; i>=0; i--)
{
ReverseString[y]=String[i];
y++;
}

cout << "Prevraceny retezec: " << ReverseString << endl;

return 0;
}


Díky za rady.

Nahlásit jako SPAM
IP: 89.102.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, 78 hostů

Podobná vlákna

Obraceni retezce — založil Laker

Obraceni pole — založil Selfer

Obrácení posloupnosti — založil to_jsem_ja

Program na obraceni textu — založil Anonymní uživatel

Beginner in C - Obrácení Pole — založil peacheass

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ý