Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 13 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20
Príspevok NapísalOffline : 09.01.2015 22:45

Zdravim, existuje funkcia, ktora precita zo stdin znak(skupinu znakov) a vrati "kurzor" na zaciatok ?

dakujem







_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 09.01.2015 23:04

Nie. Môžeš vyskúšať zobraziť znak "\r", to ale funguje len v niektorých termináloch.


Offline

Užívateľ
Užívateľ
[C] funkcia

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96
Bydlisko: Bratislava,...
Príspevok NapísalOffline : 09.01.2015 23:13

ak chces viackrat citat ten isty riadok, tak si to nacitaj do string-u (fgets) a potom citaj z toho string-u kolkokrat chces (sscanf)
znak '\r' je skor uzitocny pri vypisovani na prepisanie posledneho riadka a vo vacsine linux-ovych terminalov to funguje, na windows-e som neskusal...







_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20
Príspevok Napísal autor témyOffline : 09.01.2015 23:44

nBXXL: stringu som sa chcel vyhnut pretoze zadanie je nieco v zmysle ze na vstupe je n*n prvkova matica (n<=10 000) a viem ze jeden zo vstupov bude obsahovat \n na zaciatku a to by som mal spravne vyhodnotit ako zly vstup, preto som dufal ze precitam prvy znak a ak nieje LF tak to zacnem citat znovu...

chrono: neviem ci som to \r dobre pochopil, napisal som to takto a nefunguje mi to na Xubuntu :
Kód:
scanf("%c",&c);
printf("\r");
scanf("%d",&matica[0]);







_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 10.01.2015 9:52

\r ti pri čítaní nepomôže. Prečo by si to chcel čítať znovu? Veď prečítaš prvý znak a ak to nebude LF, tak budeš jednoducho pokračovať. Ak to bude LF, skončíš a vyhlásiš zlý vstup.

btw. na prečítanie znaku máš lepšiu funkciu - getchar()







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20
Príspevok Napísal autor témyOffline : 10.01.2015 10:06

ano, lenze ak ten prvy znak nebude LF, tak ten znak musim pouzit ako integer ktory nemusi byt <10, teda by som musel po znakoch hladat medzeru a vsetko medzi tym spracovat do cisla

priklad vstupu:
Kód:
\n
512 2 3 6 5 48

alebo
Kód:
512 2 3 6 5 48







_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 10.01.2015 10:21

Noa? A nevieš načítať číslo po znakoch?
Píšem z hlavy:
Kód:
int num = 0;
while(1)
{
 char c = getchar(); //nacitam znak
 if( c == '\n' )
   return "zly vstup"; //ak je to \n, tak nieco urobim, napr vyhlasim zly vstup, pripadne sa posuniem na novy riadok atd.

 if( c == ' ' ) //ak je to medzera, cislo si ulozim/vypisem a zresetujem
 {
   print num;
   num = 0;
   continue;
 }

 //nie je to ani \n ani medzera, takze je to cifra, pripocitam ju
 num = (num*10) + (c - '0');
}







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20
Príspevok Napísal autor témyOffline : 10.01.2015 10:26

jasne ze viem, len som chcel vediet ci sa to neda citat znovu aby to bolo jednoduchsie, nic viac







_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3
Príspevok NapísalOffline : 10.01.2015 10:28

V podstate dá, ale nikdy to nerob, kým skutočne nemusíš. V tomto prípade nemusíš.
Dalo by sa to napríklad funkciou fseek na stdin. Ale nebude to jednoduchšie.







_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20
Príspevok Napísal autor témyOffline : 11.01.2015 17:54

takze predsa existuje funkcia, ktora robi presne co potrebujem ... ungetc()
toto uplne splna moje poziadavky:
Kód:
c=getchar();
if (c=='\n')
        printf("LF\n");
ungetc(c,stdin);
scanf("%d",&k);







_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Offline

Užívateľ
Užívateľ
[C] funkcia

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96
Bydlisko: Bratislava,...
Príspevok NapísalOffline : 11.01.2015 20:48

dobre vediet.. ungetc som nepoznal :)

anyway, ungetc robi to co potrebujes ale nie to, co si pozadoval v zadani (vratit kurzor naspat na zaciatok riadku)..., s tym string-om som to myslel takto:
Kód:
char s[128] buffer;
gets(buffer);
if (buffer[0] == '\n') printf("LF\n");
sscanf(buffer, "%d", &k);
// dalsie riadky uz mozes citat normalne zo scanf

sscanf sa pouziva rovnako ako scanf, akurat necita zo standardneho vstupu ale zo string-u ktory mu zadas ako prvy parameter.., a pomocou sscanf mozes z jedneho string-u citat kolkokrat chces (teda doslova vratit kurzor na zaciatok riadku(stringu)..)







_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20
Príspevok Napísal autor témyOffline : 11.01.2015 20:55

ano, mas pravdu ze to nevracia kurzor ale riesi to moj problem, ktory som nizsie popisal, ale to je jedno teraz

viem jak si to myslel tym stringom len tak som to nechcel robit preto lebo som nevedel aky dlhy bude vstup, mohlo tam byt 1500 3-cifernych cisel napr...







_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Offline

Užívateľ
Užívateľ
[C] funkcia

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96
Bydlisko: Bratislava,...
Príspevok NapísalOffline : 11.01.2015 21:01

still ak su to len cisla oddelene medzerami tak sa to da poriesit cez strtok a itoa.... just sayin.. :)







_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Odpovedať na tému [ Príspevkov: 13 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. C++ konštantná funkcia triedy

v Assembler, C, C++, Pascal, Java

2

545

07.08.2010 14:17

Loko11 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C jednoducha funkcia ktora nefunguje

v Assembler, C, C++, Pascal, Java

10

516

13.11.2016 19:21

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. c++ funkcia na rozdelenie čisla

v Assembler, C, C++, Pascal, Java

1

429

20.12.2011 18:53

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ Problém: funkcia vykonávaná po starom

v Assembler, C, C++, Pascal, Java

4

479

31.07.2009 16:46

petos Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. funkcia pre vypis dvojrozmerneho pola v C

v Assembler, C, C++, Pascal, Java

9

1444

10.07.2011 12:47

v.tkac Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Mám sa učiť C ++/objective C/ C#?

v Assembler, C, C++, Pascal, Java

5

729

08.07.2014 20:40

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hledá se programátor C/C++ pro vesmírné projekty (Praha)

v Ponuka práce

0

1122

10.05.2016 14:59

evolvsys Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. rozdiel medzi Borland 3.1 C++ vs Net. C++

v Assembler, C, C++, Pascal, Java

4

574

20.07.2010 12:54

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Hladam hracov na C&C Generals Zero Hour

v Počítačové hry

10

1249

07.03.2007 19:22

Spirit Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. K: PC Literaturu- C++/C#/java/python/ruby/RoR

v Kúpim

0

409

13.05.2014 18:16

expresado Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Naučte se C++ za 21 dní + C++Builder 6

v Assembler, C, C++, Pascal, Java

18

2412

21.05.2010 21:08

Wpegb Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. aky je rozdiel medzi C++ a Visual C++ ?

v Assembler, C, C++, Pascal, Java

8

1963

19.02.2011 22:46

vendo2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Čo mi treba na programovanie v C/C++

v Assembler, C, C++, Pascal, Java

17

1146

25.09.2011 18:14

reDo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. funkcia

v Assembler, C, C++, Pascal, Java

1

635

10.02.2009 21:20

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Funkcia

v PHP, ASP

6

827

06.11.2007 15:45

Orwell Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. funkcia

v PHP, ASP

2

336

25.03.2014 17:42

shaggy Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra