Afişează mesaje
|
Pagini: [1]
|
1
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / unit-ul graph in pascal
|
: Februarie 15, 2013, 07:56:01
|
problema care se pune in cazul asta este, daca o pot numi asa, functionarea defectuoasa PROGRAM X2; {Exemplu pentru Bar3D} USES Graph; VAR gD, gM, gE: Integer; BEGIN gD:= Detect; InitGraph(gD,gM,''); gE:= GraphResult; IF gE<>grok THEN BEGIN WriteLn('EROARE GRAFICA : ', GraphErrorMsg(gE));halt(1) END; setfillstyle(1,15); outtextxy(20,2,'Topoff'); bar3d(20,20,65,60,10,topoff); outtextxy(140,2,'Topon'); bar3d(140,20,185,60,10,topon); bar3d(30,80,105,120,10,topon); setfillstyle(2,15); bar3d(105,100,175,120,10,topon); readln; CloseGraph END {X14}.
toata lumea o sa spuna ca este in regula.... dar nu este. la lansarea in executie initgraph functioneaza, dar modul text ramane activ, asta insemnand ca... se afiseaza bar3d dar la readln nu raspunde La readln dupa cate stiu, se asteapta apasarea #13 adik enter dar nu este citit asa ca nu se efectuiaza nici close graph nici nimic altceva Am incercat sa folosesc si unit-ul crt, si in loc de readln am pus readkey, care ar trebui sa citeasca orice tasta. aceiasi problema se asteapta citirea tastelor in modul text, care ramane activ si el Ma poate ajuta cineva De ce anume la initgraph ramane activ si modul text De ce se ateapta cititea comenzilor de la tastatura in modul text cum sa procedez pentru o functionare corecta exista ceva setari ascunse in Free Pascal pentru asta
|
|
|
2
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / dev pascal
|
: Octombrie 07, 2012, 16:43:01
|
salutare...
Ceva probleme pe aici iar... am nevoie de putin ajutor, nu pot folosi dev pas pe care l-am instalat, pur si simplu nu complileaza. Acelasi program pe care l=am compilat in free pascal in dev nu se compileaza. mereu apare cate o eroare Ma poate ajuta cineva. Si pentru ca tot a venit vorba de ajutor, ma poate ajuta cineva privitor la unit-urile din free pascal, spre exemplu nu pot folosi graph, sau open gl,... care este explicatia.. in folderul unit exista dar la compilare spune ca nu a putut gasi unit-ul respectiv HELLLLLLLLLLLLLLLLLLLLP
|
|
|
4
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: fisier de 50 GB cum se prelucreaza cu pascal ???
|
: Mai 02, 2012, 10:01:46
|
salutare din nou ok foarte buan faza cu win pe 64 am pus si asa ceva si am luat si FPC pe 64 dar exista o problema nu asculta de program si nu pot sa dau assign ce sa fac tre sa termin cu programelul asta program calcul; uses crt; var nume,nume2:string; f,g:text; suma, smin, smax: integer; ch:byte;
begin writeln; writeln; writeln(' Numele fisierului : => '); read(nume);
assign(f,nume); reset(f); writeln; writeln; writeln(' Numele fisierului de iesire :'); read(nume2); assign(g,nume2); rewrite(g); clrscr; writeln; writeln; Writeln(' Suma minima : => '); read(smin); writeln; writeln(' Suma maxima : => '); read(smax);
repeat suma:=0; while not eoln(f) do read(f,ch); write(ch,' '); suma:=suma+ch; for suma:= smin to smax do begin write(ch,' '); write(g,ch,' '); end; begin readln(f); end; until eof(f); readkey; end.
se comporta cam asa imi cere sa scriu fisierul din care incarc apoi sare peste fisierul al doilea total nu zice nimik de el imi cere suma minima si suma maxima si parca ar vrea sa lucreze doar un blink al cursorului trebuiesc facute ceva setari in FPC ?
|
|
|
8
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / fisier de 50 GB cum se prelucreaza cu pascal ???
|
: Mai 01, 2012, 19:02:09
|
Salutare Toata nebunia a luat sfarsit,.., cel putin asa am crezut , pana la proba contrarie Problema mea era sa generez solutiile A de N luate cate K unde N = 80 si K = 20 am rezolvat-o (done) dupa aceea trebuia sa gasesc metoda de a compara solutiile obtinute pe criteriul sumei adika se dau spre ex suma minima 500 si suma maxima 800 au un numar de n+1 solutii (randuri) trebuia scris programelul care sa afiseze numerele comune (adik cele care se repeta) in aceste solutii Teoretic e gata (done ) problema depasita si asta acum trebuie sa extrag aceste solutii adik fiecare aranjament in parte, sa vad care intre intre aceste doua cerinte suma nimima si suma maxima problema e ca la acea comanda ASSIGN( F, NUME) imi da o eroare frumoasa ERROR5. ! FILE ACCESS DENIED intrebarea mea este !!! CUM SA ACCESEZ FISIERUL ACESTA CA SA IL POT CITI ? VREO IDEE ? am incercat asa program calcul; uses crt; var nume,nume2:string; f,g:text; suma, smin, smax: integer; ch:byte;
begin writeln; writeln; writeln(' Numele fisierului : => '); read(nume); clrscr; assign(f,nume); reset(f); writeln; writeln; writeln(' Numele fisierului de iesire :'); read(nume2); assign(g,nume2); rewrite(g); clrscr; writeln; writeln; Writeln(' Suma minima : => '); read(smin); writeln; writeln(' Suma maxima : => '); read(smax);
repeat suma:=0; while not eoln(f) do read(f,ch); suma:=suma+ch; for suma:= smin to smax do begin write(ch,' '); write(g,ch,' '); end; begin readln(f); end; until eof(f); readkey; end.
insa eroarea de mai sus nu imi da voie as vrea sa stiu cum sa fac sa il accesez am nevoie de el , datele ce trebuiesc prelucrate sunt in el ma gandeam ca exista ceva comenzi care il forteaza sa incarce in memoria virtuala i-am dat voie windows-ului meu XP sa faca 60 GB de Swap, numai sa pot sa incarc acest fisier, problema de acum este ca nu vrea sa faca ASSIGN (F, NUME) VREO IDEE ?multumiri anticipate
|
|
|
9
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: Mesaje de eroare
|
: Mai 01, 2012, 17:31:09
|
asa am incercat sa il deschid program calcul; uses crt; var nume,nume2:string; f,g:text; suma, smin, smax: byte; ch:byte;
begin writeln; writeln; writeln(' Numele fisierului : => '); read(nume); clrscr; assign(f,nume); reset(f); writeln; writeln; writeln(' Numele fisierului de iesire :'); read(nume2); assign(g,nume2); rewrite(g); clrscr; writeln; writeln; Writeln(' Suma minima : => '); read(smin); writeln; writeln(' Suma maxima : => '); read(smax);
suma:=0; read(f,ch); suma:=suma+ch; for suma:= smin to smax do begin write(ch,' '); write(g,ch,' '); end; readkey; end.
vreo idee ? multumesc anticipat !!
|
|
|
10
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: Mesaje de eroare
|
: Mai 01, 2012, 17:29:48
|
Salutare Am si eu o problema la care caut raspuns si rezolvare in acelasi timp am un fisier TXT de 50.3 GB pe care vreau sa il prelucrez cu un program pascal problema e ca in momentul in care incerc sa rulez dupa ce am introdus calea fisierului imi zice cam asa ERROR 5: FILE ACCES DENIED !!! ce trebuie sa fac pentru a deschide fisierul Mentionez de asemenea ca acel fisier contine solutiile formulei matematice a ARANJAMENTELOR unde N=80 K= 20 asta inseamna ca are miliarde de linii
|
|
|
11
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Problema cu fisier text in pascal
|
: Aprilie 30, 2012, 11:39:38
|
problema cu matricea este ca... o declar asa program caut_cu_matrice; uses crt; const n=20; max=1600; type index = 1..1000000; var
a:array[1..max,1..20] of integer; m,i,j,k:byte; com:boolean; f:text; ch: byte;
begin clrscr; writeln; writeln; textcolor(white); Writeln('Nr linii? ');read(m); {Write('Nr Coloane? ');readln(n);} assign(f,'i:\8.txt'); reset(f); clrscr; writeln; writeln; writeln(' Lucrez ...'); for i:=1 to m do for j:=1 to n do begin {write(i,', ',j,': '); readln(a[i,j]);} read(f,ch); a[i,j]:=ch; end;
clrscr; writeln; writeln; for i:=1 to m do begin writeln; for j:=1 to n do write(a[i,j],' ');
end;
writeln; writeln; write(' In toate liniile sunt: '); for k:=1 to n do begin i:=2; j:=1; while(i<=m)and(j<=n)do begin j:=1; while(j<=n)and(a[i,j]<>a[1,k])do inc(j); inc(i); end; textcolor(red); if(i>m)and(j<=n)then Write(a[1,k],' '); textcolor(white); end;
{write(#$D#$A+'b) In toate coloanele sunt: ');} for k:=1 to m do begin j:=2; i:=1; while(j<=n)and(i<=m)do begin i:=1; while(i<=m)and(a[i,j]<>a[k,1])do inc(i); inc(j); end; if(j>n)and(i<=m)then{ Write(a[k,1]:5); } end;
readkey end.
problema e limita nu poate citi mai mult decat constanta max=1600 daca maresc aceasta constanta nu mai merge imi da ERROR 22: STRUCTURE TOO LARGE asta inseamna ca am depasit ce puterea de calcul declaratiil tipului  scuze dar nu inteleg de aia ma gandisem sa fac cumva sa verific fisierul linie cu linie cu unul sau mai multi vectori problema ca e nu merge nu stiu sa asez instructiunile am incercat asa PROGRAM linear_search; USES crt; const n=20; kin=80;
TYPE index=1..100;
VAR cautat,i,j:integer; gasit:boolean; control,arr:ARRAY[1..100] OF index; f:text; ch:byte;
BEGIN clrscr; writeln('LINEAR SEARCH'); assign(f,'i:\1.txt'); reset(f);
for j:=1 to kin do begin control[j]:=j; cautat:=control[j];
end;
while not eof(f) do begin FOR i:=1 TO n DO BEGIN read(f,ch); write(ch,' '); arr[i]:=ch; j:=0; END; writeln;
begin repeat j:=j+1; cautat:=control[j];
i:=1; gasit:=false;
WHILE ((i<=n) AND (gasit=false)) DO BEGIN IF arr[i]=cautat THEN gasit:=true ELSE gasit:=false; i:=i+1; END; IF gasit=true THEN writeln('Element gasit',' ',cautat) { ELSE writeln('Elementul.. ',' ', cautat,'.. nu a fost gasit');} until control[j] = kin; writeln; end; end; readkey; END.
dar si aici ma incurc nu stiu unde sa pun repeatul, asta daca trebuie pus, in cazul asta cu vectorul arr de tip index ori imi cauta decat in prima linie roate numerele din vectorul control ori se blocheaza cum ar trebui sa fac ? vreo idee? mersi pentru sugestii oricum !!!! scuze pentru deranj !!
|
|
|
15
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Problema cu fisier text in pascal
|
: Aprilie 30, 2012, 09:55:28
|
poate ca este gresit , si sigur este acel repeat nu face mare treaba imi verifica doar in primul rand existenta unuia din numerele [1..80] ideea ar fi sa verifice existenta cui control[j] in fiecare din randurile fisierului iar cand ajunge la capat EOF(f) in cazul in care control[j] a fost gasit sa imi afiseze valoarea lui J ca si numar comun si sa inceapa citirea fisierului F de la linia 1 (adika de la capat) si verificarea cu control[j+1)
Spuneti-mi va rog unde gresesc, si cum sa repar aceasta greseala
mentionez ca nu am studiat la scoala informatica sau programare si imi cer scuze pt deranj
Va multumesc anticipat...
|
|
|
16
|
infoarena - concursuri, probleme, evaluator, articole / Informatica / Problema cu fisier text in pascal
|
: Aprilie 30, 2012, 09:49:11
|
 Salutare Am si eu o ne-lamurire Folosind formula Aranjamentelor matematice (mai exact A de 80 luate cate 20) am generat un fisier de 50 de GB asta inseamna ca am optinut un numar de linii x (nu le-am numarat inca) ceea ce vreau sa fa este urmatorul lucru Stiind ca fiecare linie contine 20 de numere: 1 sa calculez suma fiecareia ... 2 in functie de o limita inpusa de mine Suma-minima si Suma-maxima sa calculez in aceste linii, cate numere conume am PROGRAM linear_search; USES crt; const n=20; kin=80;
TYPE index=1..100;
VAR cautat,i,j:integer; gasit:boolean; control,arr:ARRAY[1..100] OF index; f:text; ch:byte;
BEGIN clrscr; writeln('LINEAR SEARCH'); assign(f,'i:\1.txt'); reset(f);
for j:=1 to kin do begin control[j]:=j; cautat:=control[j];
end;
while not eof(f) do begin FOR i:=1 TO n DO BEGIN read(f,ch); write(ch,' '); arr[i]:=ch; j:=0; END; writeln;
begin repeat j:=j+1; cautat:=control[j];
i:=1; gasit:=false;
WHILE ((i<=n) AND (gasit=false)) DO BEGIN IF arr[i]=cautat THEN gasit:=true ELSE gasit:=false; i:=i+1; END; IF gasit=true THEN writeln('Element gasit',' ',cautat) { ELSE writeln('Elementul.. ',' ', cautat,'.. nu a fost gasit');} until control[j] = kin; writeln; end; end; readkey; END.
eu asa am incercat
|
|
|
|