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

Problem s retezci – C / C++ – Fórum – Programujte.comProblem s retezci – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Pobo
~ Anonymní uživatel
4 příspěvky
7. 5. 2010   #1
-
0
-

Dobry den,
mam za ukol napsat program, co precte jednu radku a jako vystup vypise tu radku a pod kazdym znakem jeho cetnost.
Zkousel jsem nacitat retezec pomoci fgets(s, 1024, stdin), ale kdyz ho pote zacnu prochazet pomoci for cyklu, zacne mi to vracet nesmyslne hodnoty, treba, ze na pozici s[103], je 'a', pritom do vstupu napisi pouze 5 pismen...nesla by nejak flexibilne upravovat delka retezce podle delky vstupu? diky za odpovedi

Nahlásit jako SPAM
IP: 90.179.103.–
Reklama
Reklama
liborb
~ Redaktor
+18
Guru
7. 5. 2010   #2
-
0
-

Tak řetězec většinou končí nulovým znakem (0 ne '0'). Nehledě na to, že si ten svůj buffer můžeš před použitím vynulovat.

Nahlásit jako SPAM
IP: 85.207.166.–
Pobo
~ Anonymní uživatel
4 příspěvky
7. 5. 2010   #3
-
0
-

To liborb :

liborb napsal:
Tak řetězec většinou končí nulovým znakem (0 ne '0'). Nehledě na to, že si ten svůj buffer můžeš před použitím vynulovat.


diky, vynulovani pomohlo, ted uz to i spocitam, a mam pred sebou posledni problem, kdyz je cetnost vetsi nez 10, tak bych potreboval, aby se to napsalo pod sebe.. napr.
vstup:
aaaaaaaaaaaa
vystup:
aaaaaaaaaaaa
12345678911
01

Nahlásit jako SPAM
IP: 90.179.103.–
liborb
~ Redaktor
+18
Guru
7. 5. 2010   #4
-
0
-

Podmínka, zbytek po dělení (%) a dělení. Víc potřebovat nebudeš. Buď přímo vypisovat nebo předpřipravit do bufferu. A není to samozřejmě jediná možnost.

Nahlásit jako SPAM
IP: 195.189.142.–
Pobo
~ Anonymní uživatel
4 příspěvky
8. 5. 2010   #5
-
0
-

liborb napsal:
Podmínka, zbytek po dělení (%) a dělení. Víc potřebovat nebudeš. Buď přímo vypisovat nebo předpřipravit do bufferu. A není to samozřejmě jediná možnost.


s bufferem to funguje fajn, az na jednu drobnost..kdyz zadam napr.
des = pocet%10;
printf("%d",des);
int pom = pocet/10;
desitky[o]= '1' ;
tak mi to do bufferu normalne zapise 1, a vypisuje ji to od 10 dal, ale kdyz chci udelat
char pomo[1];
sprintf(pomo,"%d", pom);
desitky[o]= pomo[0] ;
tak to nevypise nic, ale ani to nehlasi chybu..jsem trochu zmatenej, v jave staci String pomo = ""+pom;, ale nic takovyho mi zde nejde a tohle je prej nelepsi na pretypovani..

Nahlásit jako SPAM
IP: 90.179.103.–
KIIV+42
God of flame
8. 5. 2010   #6
-
0
-

krom toho ze sis pripravil pole znaku ktere ma misto akorat na jedinej znak.. a to bude pravdepodobne jeste ten ukoncovaci..

pomo si musis hodit na minimalne 12 mist... 10 pro cislice, jednu pro jistotu pro znamenko - a nakonec ukoncovaci znak retezce \0 ... to co si udelal nefunguje mozna proto, ze si to hned prepisujes nejakou promennou umistenou hned za tim jednim znakem


jiste ze pomo = ""+pom; nejde... jsme v C, a C bylo vytvoreno kvuli psani prenositelnych operacnich systemu.. tj. dovoli programatorovi udelat naprosto cokoliv co se tyce prace s pameti a tak

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Pobo
~ Anonymní uživatel
4 příspěvky
8. 5. 2010   #7
-
0
-

KIIV napsal:
krom toho ze sis pripravil pole znaku ktere ma misto akorat na jedinej znak.. a to bude pravdepodobne jeste ten ukoncovaci..

pomo si musis hodit na minimalne 12 mist... 10 pro cislice, jednu pro jistotu pro znamenko - a nakonec ukoncovaci znak retezce
heh, tak sem za tu 1 v pomo dopsal tu 12 a hned to fungovalo, diky moc

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

Podobná vlákna

Mazani v retezci — založil pavel

Vyhledávání v řetězci — založil TheSun

Prace s retezci — založil marc_ramin

Hledání v řetězci — založil Dr. ERROR

Nahrazování v řetězci — založil BlackHole

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ý