|
Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: darlene din Octombrie 03, 2005, 21:27:14 am incercat la o pb sa fortez iesirea dintr-un ciclu for... dar knd am trimis sursa mi-a dat eroare si mi-a fost oprita executia progului...dc nu se poate face asa?
....de ex dak am un for i:=1 to n do begin urmeaza un set de instructiuni si dak este indeplinita o anumita conditie i:=n end.... Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: Florin P din Octombrie 14, 2005, 18:51:04 Se foloseste functia break pentru a iesi din ciclu, nu dai end.
Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: darlene din Octombrie 15, 2005, 12:08:38 prob mea e k nu pot sa fac urmatoarea atribuire in cadrul unui ciclu for:
for i:=1 to n do i:=n; ...imi da eroare pe ev ..in schimb la mine mere perfect... Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: u-92 din Octombrie 15, 2005, 13:23:57 am compilat cu gcc si bc si nu da nici o eroare, nici nu vad de ce ar da..
dar totusi ce rost are sa faci un Cod: for(i = 1; i <= N; i++) ? Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: Florin P din Octombrie 18, 2005, 11:51:48 Ce incerci tu sa faci este fara sens si in plus este total neindicat sa modifici contorul dintr-un loop.
Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: cristi8 din Octombrie 18, 2005, 19:07:56 Citat din mesajul lui: Binary_Fire Ce incerci tu sa faci este fara sens si in plus este total neindicat sa modifici contorul dintr-un loop. eh kkt.. de ce e "neindicat" sa modific i-ul ? si de ce nu are sens ? daca vreau sa fac Cod:
? ..exista si varianta cu o valoare auxiliara, dar scrii in plus degeaba. ..sau poate pur si simpu vrei sa sari peste niste elemente care nu mai vrei sa le procesezi si e ok sa modifici i-ul. Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: darlene din Octombrie 19, 2005, 16:58:00 mda...nu vreau sa fac doar
for i:=1 to n do i:=n sunt multe situatii in care nu e nevoie de ex sa verifici toate elem unui tablou si vrei k dupa ce ai gasit unu bun sa le ignori pe celellalte..anyway si mie imi merge aksa programle in care fac asa..dar am trimis o sursa la nush ce pb de pe infoarena si mi-a dat eroare la atribuirea i:=n...in fine.. Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: u-92 din Octombrie 19, 2005, 20:23:21 aa.. pai atunci
Cod: for(i = 1; i <= N; i++) asa poti sa fortezi iesirea din ciclul for, sigur poti sa faci si cum ai spus Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: Tiberiu-Lucian Florea din Octombrie 19, 2005, 21:13:48 Poate Pascalul trateaza altfel decat C-ul chestiile astea. Cine stie.
Mai bine ai trece la C, si dupa aia la C++. :mrgreen: Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: Valentin Stanciu din Octombrie 19, 2005, 22:14:54 eu am lucrat cu pascal mai demult.. stiu ca era ceva mai prost in foruri:
daca aveai for i:=1 to n do si apoi schimbai in loop valoarea la i cu, de exemplu n+1.. forul nu se oprea.. el verifica EGALITATE.. poate aici e problema ta! * tin sa mentionez ca nu am mai programat pascal de un an jumate; va rog nu sariti pe mine daca zic prostii :) Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: darlene din Octombrie 20, 2005, 09:36:27 nu zici prostii...ai dreptate verifica egalitatea..dak pui n+1 sau ceva mai mare cicleaza...
Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: florin din Decembrie 04, 2005, 20:48:14 Pascalu' ca linbaj de nivel inalt impune o structura buna a programului, iar o structura buna nu permite modificarea contorului in interiorul buclei , deci nu folosesti comodul "for" ci "repeat until" sau "while".
Nici in C/C++ nu este indicat sa schimbi contorul in mijlocul forului : Cod: for (i = 0; i < 5; i++) insa Cod: for(i = 0; i < 5; i += var_sau_const) constituie un cod perfect structurat Pascal din pacate nu permite incrementarea contorului decat cu 1 si verifica ca acesta sa nu fie modificat in interiorul for' ului. Pentru cazurile cand contorul trebuie incrementat in interioul buclei este de recomandat a se folosi alta contructie repetitiva ( while ), cu toate ca C-ul nu cere. Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: Valentin Stanciu din Decembrie 05, 2005, 11:26:15 Tu de ce pascal vorbesti?!
Eu am schimbat valoarea contorului din for pana acum si nu am avut nici o problema... ok am avut una singura, cea ca pascalu verifica egalitate (am scris intr-un post mai devreme) apoi, tu te cam limitezi in gandire cu for-ul asta nu e doar ca sa numeri din 1 in 1 sau din x in x.. il poti folosi la o groaza de chestii; de fapt.. tocmai, nu ar trebui sa existe nici o diferentiere intre for sau while sau mai stiu eu ce.. fie ca scriu Cod: for (; scanf("%d", &tmp) != EOF; contor += tmp) ;sau ca scriu Cod: while (scanf("%d, &tmp) != EOF) contor += tmp;nu ar trebui sa existe nici o diferenta poate, intradevar, ca o conventie de "scris cod frumos si aranjat", e mai indicat sa scrii cu while.. dar nu te limita in gandire! .. sa nu ma leg si de "Pascalu' ca linbaj de nivel inalt"... asta poate poti sa zici de OOP.. dar nici asa in totalitate.. Titlul: dc nu mere sa schimbi contorul dintr-un loop? Scris de: Sima Mihai Cotizo -vechi din Ianuarie 03, 2006, 13:27:48 zic sigur ca face urat FREE PASCAL... borland nu zice nimica... incearca cu break, asta sigur merge... exit pt proceduri si halt pt tot programul, desi de asta nu ar trebui sa ai nevoie ;)
|