Skok na začátek pole – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Skok na začátek pole – C / C++ – Fórum – Programujte.comSkok na začátek pole – C / C++ – Fórum – Programujte.com

 

dbaly0
Duch
7. 11. 2006   #1
-
0
-

Jsem začátečník v C, chci se vyhnout mazání okna system("cls"). Existuje skok, kterým bych se dostal na začátek pole a přepsal ho? Nechci použít zápis - výpis ze souboru.

Nahlásit jako SPAM
IP: ...–
Jura_0
Stálý člen
7. 11. 2006   #2
-
0
-

To drak:
Můžeš to trochu lépe zformulovat. Vůbec mi (a možná, že nejsem sám) není jasné, na co se vlastně ptáš.

Nahlásit jako SPAM
IP: ...–
zacatecnik0
Super člen
7. 11. 2006   #3
-
0
-

tak to opravdu nejsi sam kdo to nechape :D

mno napada me ze to myslel takto :
1) chce neco jinyho nez system("cls");
to je toto:



void clrscr(void)
{
COORD coordScreen = { 0, 0 };
DWORD cCharsWritten;
CONSOLE_SCREEN_BUFFER_INFO csbi;
DWORD dwConSize;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
GetConsoleScreenBufferInfo(hConsole, &csbi);
dwConSize = csbi.dwSize.X * csbi.dwSize.Y;
FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten);
GetConsoleScreenBufferInfo(hConsole, &csbi);
FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten);
SetConsoleCursorPosition(hConsole, coordScreen);
}

jen dodam ze autor je pan Jiri Valerian


2) skok kterym by se dostal na zacatek si vysvetluju jako cariege return cili : r nebo BS: Backspace (návrat o 1 znak zpět)
3) popr smazani radky:
(pozn. nutny borlandi prekladac)


#include <conio.h>
#include <stdio.h>

int main(void)
{

clrscr();
cprintf("Funkce DELINE rusi radek obsahujici kurzorrn");
cprintf("a presouva vsechny radky pod nim o jeden radek nahoru.rn");
cprintf("DELINE operuje v prave aktivnim textovem okne.rn");
cprintf("Stiskni libovolnou klavesu pro pokracovani...");
gotoxy(1,2); // presun kurzor do druheho radku a prvniho sloupce

getch();
delline();
getch();
delline();
getch();
delline();
getch();
return 0;
}




kazdopadne nechapu toto:
......Nechci použít zápis - výpis ze souboru.........

pokud sem ti nepomohl formuluj dotaz lip :D :D

Nahlásit jako SPAM
IP: ...–
Můj blog http://www.zacatecnik.wu.cz[br]Překládám anglickou knihu o wxWidgets http://wxwidgets.hustej.net
dbaly0
Duch
8. 11. 2006   #4
-
0
-

Omlouv?m se za ?patnou formulaci, jsem opravdu na za??tku. Vytvo?il jsem si pole s jedn?m znakem a m?n?m je postupn? n?hodn? na jin? znak a pole zobraz?m. Cel? je to v nekone?n? smy?ce. Pole se mi zobrazuje pod sebe. Tak jsem pou?il system("cls"), aby se mi pole zobrazovalo v jedom m?st?. Do?etl jsem se, ?e to jde ud?lat tak, ?e v?dy po zm?n? pole nejd??ve zap??i do souboru, v n?m provedu skok na za??tek, tu??m ?e pomoc? seek a vyp??i ho. Podle va?ich rad si mysl?m, ?e gotoxy() bude to prav? :-) Jsem zelen??, zkus?m to, moc d?k!!!

Nahlásit jako SPAM
IP: ...–
zacatecnik0
Super člen
8. 11. 2006   #5
-
0
-

takze:
1) pokud mas jeden znak nemusis mit preci pole, ale staci ti preci char znak;
2) to co rikas s tim souborem mi prijde jako blbost ale neslysel sem o tom...kazdopadne zadna nedorozumeni by nevznikali kdyby sem lidi hazeli i zdrojaky ;)
3) pokud to chces vyzkouse tak jedine tak jak sem psal ze si sezenes borlandi prekladac, ja pouzivam Borland C++ 3.1
(celkove conio.h nejni soucasti standardu jazyka C)
az si ten prekladac seznes, vyzkousej tohle:



#include <conio.h>

int main(void)
{
clrscr();
gotoxy(10,10);
cprintf("Current location is X: %d Y: %d\r\n", wherex(), wherey());
getch();

return 0;
}

Nahlásit jako SPAM
IP: ...–
Můj blog http://www.zacatecnik.wu.cz[br]Překládám anglickou knihu o wxWidgets http://wxwidgets.hustej.net
Pedro0
Stálý člen
8. 11. 2006   #6
-
0
-

co tym kodom chces dosiahnut ?? pretoze je v tom strasny bordel a zda sa mi ze polka veci je zbytocnych

Nahlásit jako SPAM
IP: ...–
Vsetci ste blazni, to len ja som lietadlo
zacatecnik0
Super člen
8. 11. 2006   #7
-
0
-

tjn
- co to ma delat ?
- kde vidis problem ?

necekej ze ti to vystihneme na tace ;)

ps: prekladac pouzivej jen na prekladani, pis si to kde chces ;)
alepson takto delam ja

Nahlásit jako SPAM
IP: ...–
Můj blog http://www.zacatecnik.wu.cz[br]Překládám anglickou knihu o wxWidgets http://wxwidgets.hustej.net
dbaly0
Duch
9. 11. 2006   #8
-
0
-

Tak se vrátím na začátek. Učím se 2měsíce programovat. Programuji dobrovolně! Chci pochopit, když něco napíšu, jak to chodí. Od známého dostanu úkol a snažím se ho splnit. Neočekávám, že mi to vyřešíte a to byl jeden z důvodů, proč jsem ten zdroják nedodal okamžitě myslel jsem, že se dozvím, co potřebuji, bez toho. Jsem si vědom, že vypadá hrozně. Třeba za rok ho napíšu lépe...?
Tento zdroj tiskne pole X-ek a podle algoritmu ho přepisuje mezerou, takže to jako žije. Ale díky cls se už nedá pod něj nic dopsat, proto hledám skok. Používám Dev-Cpp a to mi nepřeloží gotoxy a pod. Tak jsem si sehnal borland 5.5 a s nám neumím.

Nahlásit jako SPAM
IP: ...–
zacatecnik0
Super člen
10. 11. 2006   #9
-
0
-

1) co nechapes na teto vete ? :

ps: Borland prekladac pouzivej jen na prekladani, pis si to kde chces ;)



nebo co ti jako nejde ? a vidis zase sme u toho zase budu jasnovidcovat :
copak tam neni polozka File a podpolozka Open (soubor - otevrit) vyber svuj cpp
a copak tam nejni menu Build a trebass Build All, Compile or Make exe (u me to je F9)
vubec to dal neresim du do slozky pac f9 to jen zkompiluje a spoustim ho ruco....

2)samozrejme ze dev-cpp to nerozjede, uz sem psal jedna se o Borland Specifik jinde proste gotoxy nerozchodis

3) zkousel si carriege return, line feed ci jine escape sekvence ?

achjo zase zabrehavame uplne nekam jinam.....vubec stale nechapu proc se chces vracet nazpet :ms_0399:
dit kreslis furt dolu ne ? a posuvnik rulez. Navic fakt furt nevim (rikas skok na obrazovvce pak skok v poli, je treba si to ujasnit)

typ an zaver:
halec kdyz ani po druhym vysvetleni me lidi nechapou zacnu pouzivat ruce a nohy na domluveni - jinymi slovy:
napis svuj dotaz jak pro blbecka ze zvlastni :ms_0017: predsav si ze ja su ten blbecek a ty mi proste problem rozepis na klidne pul stranky pouzivej pritom obrazky, zvuky cokoliv. u kazdeho trochu slozitejsi nebo obtizne formulovaneho slovicka dej zavorku a prepis to jinymi slovy. Jinak se vubec nehneme coz ty nechces .

posledni vec na zaver:
-neber to jako kritiku my taky zacianaly a nebylo to o nic lepsi :ms_0007:
-prosim nepouzivej pri dotazech vykricniky lidi (nebo mozna jen ja :ms_0001: ) sou na to haklivy
viz. co myslim :

Programuji dobrovoln?!

Nahlásit jako SPAM
IP: ...–
Můj blog http://www.zacatecnik.wu.cz[br]Překládám anglickou knihu o wxWidgets http://wxwidgets.hustej.net
Ivanhoe
~ Anonymní uživatel
2 příspěvky
10. 11. 2006   #10
-
0
-

while(0==0)

toto me opravdu pobavilo :D:D:D

Nahlásit jako SPAM
IP: ...–
Peter D.0
Expert
10. 11. 2006   #11
-
0
-

ja radsej pouzivam while(1) :)

Nahlásit jako SPAM
IP: ...–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
dbaly0
Duch
13. 11. 2006   #12
-
0
-

To mephi:
dík, už to tam mám a i chápu proč

Nahlásit jako SPAM
IP: ...–
dbaly0
Duch
13. 11. 2006   #13
-
0
-

To zacatecnik: Jasný, beru vše, srovnám si to v makovici a budu pokračovat bez vykřičníků.

Nahlásit jako SPAM
IP: ...–
zacatecnik0
Super člen
15. 11. 2006   #14
-
0
-

to co sem ti radil.....myslel sem ze chces graficky skok, ted mi dochazi ze chces skocit na zacatek pole to je ale easy:
pole[0] nebo pouzij pointer
ahoj

Nahlásit jako SPAM
IP: ...–
Můj blog http://www.zacatecnik.wu.cz[br]Překládám anglickou knihu o wxWidgets http://wxwidgets.hustej.net
Pedro0
Stálý člen
15. 11. 2006   #15
-
0
-

To zacatecnik: on nechce skocit na zaciatok pola, ale na zaciatok konzoly ... on to chce vypisovat asi takto;
...
5. riadok
4. riadok
3. riadok
2. riadok
1. riadok

Nahlásit jako SPAM
IP: ...–
Vsetci ste blazni, to len ja som lietadlo
zacatecnik0
Super člen
15. 11. 2006   #16
-
0
-

ja si to myslel v celym topicu sem mu to i tvrdil ale on me v tom neusvedcil tak sem ted do posledniho postu napsal dle nazvu topicu skok v poli

halec tenhle topic uz vubec nebudu resit

- zazatel vubec nekomunikuje
- mam nulovou slovni vyjadrovaci schopnost co se tice Ccka
- do tedka nezkusil kod ktery sem mu psal cili. gotoxy(),

Nahlásit jako SPAM
IP: ...–
Můj blog http://www.zacatecnik.wu.cz[br]Překládám anglickou knihu o wxWidgets http://wxwidgets.hustej.net
dbaly0
Duch
16. 11. 2006   #17
-
0
-

To zacatecnik: Ano, měl si pravdu s tím grafickým skokem. Příklad zněl: Vytvoř pole Xek a pusť na to algoritmus, pro který platí:
1) umrti: bunka na pozici pole[i][j] zemre ('X'), pokud je nyni ziva ('O') a zaroven s ni primo sousedi min jak 2 nebo vic jak 3 bunky 'O'
2) preziti: bunka na pozici pole[i][j] prezije, bunka je nyni ziva ('O'), a bude sousedit se 2 nebo 3 zivymi bunky
3) narozeni: na pozici pole [i][j] vznikne nova bunka, pokud tam momentalne neni ziva bunka, nebo-li je tam 'x' a soucasne pocet sousednich zivych bunek ('O') je presne 3.
To mi běhá, když spustím konzolu, tak se to vypisuje pod sebe. Tak jsem použil system('cls'), přepisuje a mění se to v jednom místě. No ale když chci pod to cokoliv dopsat, tak se mi to díky cls smaže. Proto hledám nějakou alternativu, která by šla použít s ohledem na mou začátečnickou nemohoucnost. Aby se měnilo jen pole Pointery zatím nepoužívám, snad v blízké době, až strávím základy. Sorry, že jsem neodpověděl, doma zatím nemám přístup na net, Čekám přípojku po 23.11. (S O2 je docela dobrá domluva, už to trvá 2 roky )a po večerech hraju muziku. gotoxy() jsem vyzkoušel, ale protože nemám pořád ještě borland 3.11, tak jsem to neviděl běhat, měl by být v pondělí. Pokud nechceš se mnou komunikovat, tak Ti stejně dík. Třeba časem.

Nahlásit jako SPAM
IP: ...–
zacatecnik0
Super člen
16. 11. 2006   #18
-
0
-

stejnak to moc nechapu ale rad ych ti helfnul....
chces pod pole neco vypsat ale diky cls to nejde ? tak to urob takhle:
udelej si fci co se ma vykreslit

void kresleni()
{
//tady se vykresli pole
// a tady text
}

text bude globalni promenna

no a pokud pouzijes system("cls");
tak hned zatim zavolas kresleni();
Jestli to neni vono tak fakt sorry ale jaksi si furt nedokazu predstavit co chces



jinak s tim O2 naprosto souhlasim ! my sme cekali 4 mesice na pripojeni a to sme uz u nich byli predtim ! ! proste nez to obnovili tak to trvalo 4 mesice ale ne jen tak ze dne na den ale az po poslani dopisu se stiznosti na vedeni O2 a tobe doporucuji to same ;)

Nahlásit jako SPAM
IP: ...–
Můj blog http://www.zacatecnik.wu.cz[br]Překládám anglickou knihu o wxWidgets http://wxwidgets.hustej.net
dbaly0
Duch
20. 11. 2006   #19
-
0
-

To zacatecnik: díky moc za radu, udělal jsem to tak, běží to, pro můj účel to stačí

Nahlásit jako SPAM
IP: ...–
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, 27 hostů

Podobná vlákna

Skok — založil Antonidas

Zacatek — založil Murray

Zacatek — založil alannek

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ý