| | |
| Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
Autor | Správa |
---|
Registrovaný: 19.06.12 Prihlásený: 11.12.17 Príspevky: 132 Témy: 20 | Napísal expoox: 09.11.2014 19:28 | |
|
Zdravim, potreboval by som nacitat cisla oddelene medzerami na tom istom riadku do pola, viete mi poradit ? ocakavany vstup je: Kód: 2 5 18 1 63 9 11 ... 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 |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 09.11.2014 19:42 | |
|
Vieme ti poradiť. Napíš ale s čím presne máš problém. Nevieš načitať číslo? Nevieš urobiť pole?
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 19.06.12 Prihlásený: 11.12.17 Príspevky: 132 Témy: 20 | Napísal autor témy expoox: 09.11.2014 19:45 | |
|
neviem to nacitat, robil som nieco v zmysle Kód: v=1; i=1;
while (v==1) { v=scanf("%d",&pole[i]); i++; } ale to je blbost
_________________ 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 |
|
Registrovaný: 27.12.08 Prihlásený: 13.12.22 Príspevky: 1874 Témy: 96 Bydlisko: Bratislava,... | Napísal nBXXL: 09.11.2014 22:18 | |
|
preco to je blbost? zakladna myslienka je dobra... akurat ak to ma byt z jedneho riadka iba tak by som to spravil tak, ze by som cez gets nacital ten riadok a potom by som cital z toho riadka cez sscanf.., takto si aj mozem alokovat pole presnej velkosti (kedze viem trivialne spocitat medzery v string-u)
_________________ ~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) |
|
Registrovaný: 19.06.12 Prihlásený: 11.12.17 Príspevky: 132 Témy: 20 | Napísal autor témy expoox: 10.11.2014 15:59 | |
|
mozes mi prosim ta trochu blizsie popisat jak to dosiahnem tymi funkciami ? teda konkretne sscanf .. neviem s nim citat po jednom Kód: gets(c); while (c[i]!=EOF) { if (c[i]==' ') medzera++; i++; } medzera-=2;
int palicky[medzera+1];
for (i=0;i<medzera+1;i++) sscanf(c,"%d ",&palicky[i]); mi nacita vzdy iba prve cislo //EDIT: prave som zistil ze ani neviem ako zadat EOF pri pisani vstupu
_________________ 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 |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 10.11.2014 16:38 | |
|
expoox píše: EDIT: prave som zistil ze ani neviem ako zadat EOF pri pisani vstupu Toto je tvoj najväčší problém. Ten tvoj kód so scanf je správne a nenechaj si natárať nejaké sscanf. Zbytočne tam niečo také pchať, keď to robí úplne to isté, len zložitejšie. Jednoduchá rada: EOF v príkazovom riadku je ctrl+Z, alebo F6, alebo CTRL+D v unixe. Ďalšie možnosti: posielaj vstup zo súboru, alebo si definuj, že napr pri nule bude koniec vstupu. Čiže s EOF nebude problém, pretože pri postupnosti 15 43 2 4 0, ti výjde pole s číslami 15,43,2,4. Hotovo. Zo súboru sa to ale robí cez príkazový riadok (vo Windows, alebo cez terminál v unixoch). Radšej použi to ukončovacie číslo.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 19.06.12 Prihlásený: 11.12.17 Príspevky: 132 Témy: 20 | Napísal autor témy expoox: 10.11.2014 16:46 | |
|
plati ctrl+z aj na v unixe? ide o to ze vstup nezadavam...mam ho presne dany a neviem si ho presmerovat cez subor ..
_________________ 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 |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 10.11.2014 16:47 | |
|
Upravil som svoj prspevok aj pre unix. A cez súbor si ho presmerovať vieš. Vytvoríš klasický text file (s názvom napr mojvstup), napíšeš do neho vstup a potom program spustíš ako Kód: ./a.out < mojvstup
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 19.06.12 Prihlásený: 11.12.17 Príspevky: 132 Témy: 20 | Napísal autor témy expoox: 10.11.2014 16:57 | |
|
nie ze by som tevedel zrobit koli tom ze neviem ako ale main.c sa nekompiluje ani u mna na pc, ide to na server kde si to zada vlastny vstup ktory neviem ovlpyvnit
_________________ 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 |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 10.11.2014 17:10 | |
|
Joj ale to je ti jedno, veď si to môžeš testovať u seba, nie? A ak to robí na vzdialenom servri, tak to robí zo súborov. Preto odporúčam testovať to s tým presmerovaním zo súboru.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 19.06.12 Prihlásený: 11.12.17 Príspevky: 132 Témy: 20 | Napísal autor témy expoox: 10.11.2014 17:29 | |
|
pravda vdaka za pomoc
_________________ 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 |
|
Registrovaný: 27.12.08 Prihlásený: 13.12.22 Príspevky: 1874 Témy: 96 Bydlisko: Bratislava,... | Napísal nBXXL: 11.11.2014 22:51 | |
|
BX: ako so scanf zistis ci si uz dosiel na koniec RIADKA a nie SUBORU? na to potrebujes gets a sscanf, ja som mu povedal ze to ma pouzit iba ak potrebuje taketo daco..
_________________ ~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) |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 11.11.2014 23:09 | |
|
Pokiaľ ide o detekciu entera pri zadávaní vstupu, uznávam, že je to tak jednoduchšie. Ale samozrejme dá sa využiť to, že scanf sa vracia práve pri stlačení entera a teda na "konci riadka" si môžem robiť čo chcem. Kód: int a, i = 0; while( scanf("%d", &a) == 1 ) { printf( "riadok #%d, read %d\n", i, a );
if( getchar() == '\n' ) i++; }
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
Registrovaný: 19.06.12 Prihlásený: 11.12.17 Príspevky: 132 Témy: 20 | Napísal autor témy expoox: 15.11.2014 14:03 | |
|
teraz ste ma doplietli, asi som sa nevyjadril presne vstup moze byt aj viac riadkovy a je ukonceny prave EOF... takze scanf alebo sscanf?
_________________ 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 |
|
Registrovaný: 17.07.11 Prihlásený: 29.12.20 Príspevky: 1516 Témy: 3 | Napísal BX: 15.11.2014 18:28 | |
|
Takže scanf. Sscanf je to isté, len tomu dávaš ako parameter reťazec, z ktorého má čítať. Za to scanf číta zo štandardného vstupu stdin. Takže ti stačí scanf, lebo čítaš zo stdin a viac ti netreba.
_________________ Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám! |
|
| Stránka: 1 z 1
| [ Príspevkov: 15 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| [C] strlen porovnanie pointeru a integeru v Assembler, C, C++, Pascal, Java | 5 | 371 | 12.10.2014 0:13 dany2281995 | | C++ Čítanie ŠPZ v Assembler, C, C++, Pascal, Java | 4 | 592 | 28.03.2017 19:08 void | | c++ citanie zo suboru v Assembler, C, C++, Pascal, Java | 2 | 1986 | 24.09.2012 20:08 S1RuP | | Efektívne čítanie príkazov - C v Assembler, C, C++, Pascal, Java | 13 | 711 | 28.12.2013 16:06 BX | | C++ Čitanie znakov/čísel v Assembler, C, C++, Pascal, Java | 6 | 565 | 09.05.2014 12:04 Lukys12345 | | [C++] ZENIT - čítanie vstup.in v Assembler, C, C++, Pascal, Java | 18 | 1009 | 13.11.2011 15:31 nBXXL | | C formatované čítanie zo súboru v Assembler, C, C++, Pascal, Java | 13 | 849 | 06.05.2012 10:46 aktyX | | Štruktúra, čítanie zo súboru [C] v Assembler, C, C++, Pascal, Java | 2 | 434 | 18.04.2015 9:26 ado130 | | C# čítanie jedného riadka z textového súboru v Assembler, C, C++, Pascal, Java | 4 | 516 | 27.06.2014 14:08 walther | | time() v cykle v PHP, ASP | 16 | 440 | 08.03.2016 10:26 neopagan | | Premenna v cykle php v PHP, ASP | 18 | 919 | 12.08.2009 21:43 Tominator | | Mám sa učiť C ++/objective C/ C#? v Assembler, C, C++, Pascal, Java | 5 | 729 | 08.07.2014 20:40 XOLOO | | Periferne citanie v Voľný čas a hobby | 7 | 752 | 10.09.2012 10:19 dixi | | citanie kodu v PHP, ASP | 2 | 431 | 14.01.2011 20:42 slebo | | citanie textu odzadu v PHP, ASP | 2 | 809 | 14.06.2009 23:13 pa3ck | | Tablet na citanie v Mobilné zariadenia | 0 | 200 | 16.09.2014 19:12 florq |
| 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
|
|