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

Osetreni vstupu – C / C++ – Fórum – Programujte.comOsetreni vstupu – C / C++ – Fórum – Programujte.com

 

Prometheus
~ Anonymní uživatel
2 příspěvky
11. 1. 2010   #1
-
0
-

Potreboval bych nejak nasmerovat jak vyresit tento vstup. Je zakázáno používat C++ datový typ string a kontejnery z STL.

korektni vstup je ve forme ctyr cisel na radek (kladne i zaporne) odradkovani a dalsi ctyri cisla. tento vstup je ukonceny EOF.

4 3 2 5

13 22 43 45
6 5 44 3
-3 -62 3 5


špatný vstup je napriklad jeden z techto radku:
1 2 3 4 5 6

1 2 3
R R 2 1
...


vzdy jsem to resil pomoci stringu, bez neho jsem bezmocny...
moc dekuji za jakekoliv rady ci ukazky jak to udelat.
SPECHA!!!

Nahlásit jako SPAM
IP: 84.244.78.–
Prometheus
~ Anonymní uživatel
2 příspěvky
12. 1. 2010   #2
-
0
-

Potreboval bych ukladat ty ciselne hodnoty do pole intu...

Nahlásit jako SPAM
IP: 84.244.78.–
liborb
~ Redaktor
+18
Guru
12. 1. 2010   #3
-
0
-

String není nic jiného než pole znaků. Jestli nesmíš použít třídu string, tak pořád ještě můžeš použít pole znaků. A přes cin.getline si načíst celý řádek a potom si ho v klidu rozebrat. A pokud nesmíš ani to, tak to potom budeš asi muset číst po jednotlivých znacích.

Nahlásit jako SPAM
IP: 85.207.166.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
12. 1. 2010   #4
-
0
-

To liborb :
to jo, char pouziji, ale nevim jak z neho dostat ty cisla do pole int. ze stringu jsem to tahal pomoci istreamstring is() a slo to bez problemu... ale tady nevim jakou fci na to pouzit.

Nahlásit jako SPAM
IP: 84.244.78.–
liborb
~ Redaktor
+18
Guru
12. 1. 2010   #5
-
0
-

Tak se podívej na strtol.

Nebo to můžeš dělat "otrocky" přímo do intu tj. otestovat znak, jestli to je číslo (to je stejně v zadání), hodnotu v int proměné vynásobit 10 a přičíst hodnotu v char (tj. něco jako cZnak - '0') a jít na další znak.

Nahlásit jako SPAM
IP: 85.207.166.–
KIIV
~ Moderátor
+43
God of flame
12. 1. 2010   #6
-
0
-

ja resil nacteni radku a pak sscanf .. a otestovat zda to nacetlo 4 promenne

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
m->29+6
Super člen
12. 1. 2010   #7
-
0
-

Veď to môže rovno použiť scanf(). Načo by to načítal a potom načítal znovu zo "stringu"?

if(scanf("%d %d %d %d\n", &x1, &x2, &x3, &x4) != 4)

perror("Niečo sa pokašlalo");

Nahlásit jako SPAM
IP: 147.229.208.–
KIIV
~ Moderátor
+43
God of flame
12. 1. 2010   #8
-
0
-

To m->29 : protoze to nebere jednu radku... kdyz bude mit
1 2 3 4 5 6
1 2 3 4

tak pomoci scanf se nacte 1 2 3 4
a pak se nacte 5 6 1 2

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
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

Ošetření vstupů — založil vollf82

Ošetření vstupu — založil Caken

Ošetření vstupu. — založil jisla

Ošetření vstupu — založil Troy585

Ošetření vstupu — založil Erlesh

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ý