Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Nacitavam takto nejako znaky:
Kód: int input; char *retazec;
while( (input = getchar()) != EOF ) { // sem nieco }
A potreboval by som tie znaky zapisovat do toho "retazec" a potom to naraz vytlacit cez printf.
Ako na to?
Dik
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
skus si vyhradit miesto nejak char *retazec=malloc(sizeof(char)*xx)
xx je max pocet znakov potom nieco ako Kód: char *a; //a v tom cykle a=input;a++;
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 14.02.08 Prihlásený: 04.01.15 Príspevky: 1272 Témy: 46 | 46 Bydlisko: Bratislava |
no tak ja som to spravil nejak takto:
Kód: # include<stdio.h>
int main(void) { char retazec[6553],znak; int x=0,input; while((input=getchar()) !='X') { retazec[x]=input; x++; } retazec[x+1]='\0'; printf("RETAZEC JE : %s",retazec); getchar(); getchar(); return 0; }
ty mozes pouzit aj pointer ale musis si alokovat miesto, ako to uz bolo napisane predo mnou, alebo mozes pouzit to co ja ze uz v deklaracii si alokujes miesto, ma to aj svoje nevyhody a aj vyhody
edit: ten 'X' to som pouzil iba tak, len aby som to vedel ukoncit kedy chcem
_________________ CPU:AMD Phenom II X4 960T MB: GA-MA78GM S2H VGA: ASUS EAH4850 512MB DDR3 & AC L2 PRO RAM: 4x 1GB Kingstone 800Mhz PSU: CX400W HDD: SEAGATE Barracuda 7200.10 160GB + Seagate 320GB Monitor :19"LCD ASUS VB191T OS: Win 7 Ultimate 64 bit |
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Dakujem.. funguju tie sposoby..
Este taka otazocka.. V tom while cykle potrebujem obcas cez for() ten retazec zopar krat printf-nut... Ale ked to dam napriklad 3 krat, tak to ale vytlaci strasne vela krat..
Co moze byt problem?
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
zeby preto ze ti na konci chyba znak \0? ak si dobre pamatam tak v ansiC je retazec definovany ako ple znakov ukoncene znakom \0. kedze ty naplnas pole o dlzke 6553 z znak \0 do neho vlozis az na konci tak v loope ti stale vypisuje komplet pole. napln si najprv pole znakmi \0 napriklad metodou memset(retazec, '\0', 6553);
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Ale ja ho plnim len na 3 znaky.. nie naplno..
a aj po pouziti memset to robi..
Kód: pocetOpakovani = 3; for(e=1;e<=pocetOpakovani;e++) { printf("%s ", retazec); }
Ked toto dam do toho while cyklu, tak to vypise4 velmi vela krat..
Ked napisem len printf trikrat pod seba, tak to vypise 3 krat...
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
ake datove typy su "pocetOpakovani" a "e" ?
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
integery..
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | 2 |
neviem co tam robis ale skusil som to v dev c++ takto a vypise vyspedok tri krat Kód: #include <cstdlib> #include <iostream> # include<stdio.h>
using namespace std;
int main(void) { char retazec[6553],znak; int x=0,input; while((input=getchar()) !='X') { retazec[x]=input; x++; } retazec[x+1]='\0'; int i,pocet; pocet = 3; for (i=0;i<pocet;i++) { printf("RETAZEC JE : %s",retazec); } getchar(); getchar(); return 0; }
|
|
Registrovaný: 09.09.07 Prihlásený: 07.11.16 Príspevky: 3114 Témy: 233 | 233 Bydlisko: Nové Zámky |
Ale ja som pisal:
Citácia: Ked toto dam do toho while cyklu
Ja ten for() mam v tom while....
Naplnim retazec s troma znakmi napriklad a potom ich vypisem 5 krat za sebou.. potom zas naplnim 3 znakmi a vypisem 2 krat..
Mam to dobre spodmienkovane, pokial pouzijem viac printfov pod sebou, ide to presne tak, ako chcem..
Ale ked to dam do for(), kedze je to skarede, pisat printf viac krat pod sebuou, tak to zblbne.... (a pritom premenne vo FOR su korektne s cislami, co potrebujem.. // automaticky pridané po 8 minútach od posledného príspevku Kód: int main(void) { char retazec[6553],znak; int x=0,input; while((input=getchar()) !='X') { retazec[x]=input; x++; int i,pocet; pocet = 3; for (i=0;i<pocet;i++) { printf("a"); } } retazec[x+1]='\0'; getchar(); getchar(); return 0; }
Co ti to vypise? // automaticky pridané po 13 minútach od posledného príspevku Ty vole, ja v tom pocetOpakovani mam naozaj nejake velke cisla! Ja to cisla nacitavam zo vstupu tiez...
A prave pozeram na ASCII tabulku a trieskam hlavu do stolu Dik moc
_________________ "It took a lot of work, but this latest Linux patch enables support for machines with 4096 CPUs, up from the old limit of 1024." "Do you have support for smooth full-screen flash video yet?" "No, but who uses that?"
- ak dlho neodpisujem do témy, zabudol som na ňu, takže ma upozornite SS, ak chcete moju odpoveď |
|
Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 19 | 826 | 30.01.2012 9:55 Fico | | v Technológia .NET | 2 | 1568 | 23.08.2009 13:19 piton55 | | v Assembler, C, C++, Pascal, Java | 9 | 670 | 09.01.2011 14:16 ethi1ca4l | | v PHP, ASP | 1 | 378 | 09.08.2017 12:44 BX | | v Assembler, C, C++, Pascal, Java | 5 | 759 | 26.04.2009 13:23 bbeni | | v PHP, ASP | 2 | 606 | 11.03.2010 18:27 1daemon1 | | v PHP, ASP | 1 | 391 | 24.06.2009 8:33 Ďuri | | v Assembler, C, C++, Pascal, Java | 2 | 475 | 05.01.2017 19:27 eversio | | v Assembler, C, C++, Pascal, Java | 4 | 444 | 17.11.2012 20:04 m4r14n | | v Elektronika | 0 | 516 | 10.01.2012 20:34 p4tooo | | v Assembler, C, C++, Pascal, Java | 2 | 353 | 20.10.2012 15:13 faraon | | v Assembler, C, C++, Pascal, Java | 0 | 379 | 19.01.2011 22:38 1daemon1 | | v PHP, ASP | 2 | 374 | 10.11.2009 20:22 pilná lama glama | | v Assembler, C, C++, Pascal, Java | 4 | 457 | 07.10.2012 18:52 Fico | | v Elektronika | 10 | 1161 | 07.03.2007 12:43 Taomas | | v Assembler, C, C++, Pascal, Java | 6 | 542 | 02.02.2012 23:18 street_punk |
|