[ 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 | 20
NapísalOffline : 09.01.2015 22:45 | [C] funkcia

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: 1713
Témy: 0 | 0
NapísalOffline : 09.01.2015 23:04 | [C] funkcia

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ý: 24.11.16
Príspevky: 1874
Témy: 96 | 96
Bydlisko: Bratislava,...
NapísalOffline : 09.01.2015 23:13 | [C] funkcia

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 | 20
Napísal autor témyOffline : 09.01.2015 23:44 | [C] funkcia

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ý: 26.04.18
Príspevky: 1459
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 10.01.2015 9:52 | [C] funkcia

\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 | 20
Napísal autor témyOffline : 10.01.2015 10:06 | [C] funkcia

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ý: 26.04.18
Príspevky: 1459
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 10.01.2015 10:21 | [C] funkcia

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 | 20
Napísal autor témyOffline : 10.01.2015 10:26 | [C] funkcia

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ý: 26.04.18
Príspevky: 1459
Témy: 2 | 2
Bydlisko: Praha / Rev...
NapísalOffline : 10.01.2015 10:28 | [C] funkcia

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 | 20
Napísal autor témyOffline : 11.01.2015 17:54 | [C] funkcia

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ý: 24.11.16
Príspevky: 1874
Témy: 96 | 96
Bydlisko: Bratislava,...
NapísalOffline : 11.01.2015 20:48 | [C] funkcia

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 | 20
Napísal autor témyOffline : 11.01.2015 20:55 | [C] funkcia

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ý: 24.11.16
Príspevky: 1874
Témy: 96 | 96
Bydlisko: Bratislava,...
NapísalOffline : 11.01.2015 21:01 | [C] funkcia

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)
 [ Príspevkov: 13 ] 


[C] funkcia



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

398

07.08.2010 14:17

Loko11

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

C jednoducha funkcia ktora nefunguje

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

10

216

13.11.2016 19:21

BX

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

c++ funkcia na rozdelenie čisla

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

1

236

20.12.2011 18:53

Fico

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

362

31.07.2009 16:46

petos

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

1098

10.07.2011 12:47

v.tkac

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

353

08.07.2014 20:40

XOLOO

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

2074

21.05.2010 21:08

Wpegb

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

91

13.05.2014 18:16

expresado

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

818

07.03.2007 19:22

Spirit

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

295

10.05.2016 14:59

evolvsys

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

285

20.07.2010 12:54

walther

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

1671

19.02.2011 22:46

vendo2

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

885

25.09.2011 18:14

reDo

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

Hladame 3x C/C++ Linux developer- projekt 11/2016-2/2017

v Ponuka práce

1

209

24.10.2016 15:28

michalesku

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

C/C++ problém so súbormi a hodnotami

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

2

141

09.12.2012 10:43

nBXXL

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

C# alebo C++ appka/program na výpočty

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

1

121

20.03.2015 22:36

walther



© 2005 - 2018 PCforum, edited by JanoF