PASCAL-problemy

Programovacie jazyky, rady, poradňa...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

aaaa :smt009 toto si zabil :D a ja to mám teraz preklepať ako sekretárka? Veď si to sem mal hodiť v textovej podobe, nech to zkopírujem a skúsim
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

pockaj este len zabijem :lol: : ako to skopirujem ztoho pascalu? :D ctrl+c nejde :D
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

otvor ten pas súbor v notepade
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

Kód: Vybrať všetko

uses crt;
type osoba=record
     m,p,sk:string;
     c,bpr:integer;
     prz6,prz7,prz8,prz9,cpr:real;
     end;
     juh=record
     ul,cd,m,hod:string;
     pr1,pr2,pr3,bod:integer;
     end;
     pole=array[1..10] of osoba;
     lol=array[1..10] of juh;
var a:pole;
    b:lol;
   i,n:integer;

procedure OKNO;
begin
textbackground(blue);
window(0,0,79,25);
clrscr;
textbackground(black);
window(10,3,70,20);
clrscr;
textbackground(green);
window(8,2,68,19);
clrscr;
end;
procedure citaj;
begin
writeln('zadaj pocet ziakov:');
readln(n);
writeln('*******************');
i:=0;
repeat
inc(i);
i:=a[i].c;
writeln('zadajte prosim meno ziaka:');
readln(a[i].m);
writeln('zadajte prosim priezvisko ziaka:');
readln(a[i].p);
writeln('zadajte prosim skolu, ktoru ziak nastevuje:');
readln(a[i].sk);
writeln('zadajte prosim priemer znamok zo 6. rocnika:');
readln(a[i].prz6);
writeln('zadajte prosim priemer znamok zo 7. rocnika:');
readln(a[i].prz7);
writeln('zadajte prosim priemer znamok z 8. rocnika:');
readln(a[i].prz8);
writeln('zadajte prosim priemer znamok z 9. rocnika:');
readln(a[i].prz9);
a[i].cpr:=a[i].prz6+a[i].prz7+a[i].prz8+a[i].prz9/4;
writeln('zadajte prosim body za priemer:');
readln(a[i].bpr);
until i=n;
end;
begin
okno;
citaj;
readkey;
end.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

tento riadok je kravina:

Kód: Vybrať všetko

i:=a[i].c;
malo by to byť opačne

Kód: Vybrať všetko

a[i].c:=i;
a teoreticky to môže spôsobovať problém ktorý sa v tvojom programe správa dosť zvláštne. Mne to nehodí ten riadok tak divne, ale pri načítavní druhého priemeru to zkolabuje. Každopádne, ten riadok daj tak ako som ti napísal a skús ako sa to bude správať, lebo inač tam nevidím nič čo by malo byť zle

//edit: ešte jedna vec, nakoľko máš 10prvkové pole, mal by si n overiť či nie je väčšie ako 10, buď na začiatku (if n>10 then n:=10;) alebo v na konci cyklu (until (i=n) or (i=10);)
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

slava ti !!!! :D ono to funguje...neomzem uverit jak som mohol spravit tak sprostu chybu :D....fakt dikes..a dik aj za ten druhy navrh,dobry napad

PROBLEM NUMBER TWO\THREE(?)

Kód: Vybrať všetko

uses crt;
type osoba=record
     m,p,sk:string;
     c,bpr:integer;
     prz6,prz7,prz8,prz9,cpr:real;
     end;
     juh=record
     ul,cd,m,hod:string;
     pr1,pr2,pr3,bod:integer;
     end;
     pole=array[1..20] of osoba;
     lol=array[1..20] of juh;
var a:pole;
    b:lol;
  r,i,n,j:integer;
    Q:char;
    f,ff,fff:text;
procedure OKNO;
begin
i:=0;
while i<=24 do begin
         inc(i);
         j:=0;
         while j<=79 do begin
         inc(j) ;
         write(#177);
         end;
         end;

textbackground(black);
window(16,7,68,20);
clrscr;

textcolor(yellow);
gotoxy(2,1);
write(#201);
i:=0;
while (i<7) do begin
                 inc(i);
                 write(#205);
                 end;
write('[');
textcolor(red);
write('Prijmacie skusky');
textcolor(yellow);
write(']');
i:=12;
while (i<36) do begin
                  inc(i);
                  write(#205);
                  end;
write(#187);
i:=0;
r:=2;
while i<12 do begin
                inc(i);

                gotoxy(2,r);
                write(#186);
                gotoxy(52,r);
                write(#186);
                inc(r);
                end;
gotoxy(2,r);
write(#200);
i:=0;
while(i<49) do begin
                 inc(i);
                 write(#205);
                 end;
write(#188);
textbackground(blue);
window(20,10,62,18);
clrscr;
end;
procedure citaj;
begin
writeln('ak chcete zadat novich ziakov,stlacte:1 ');
writeln('ak chcete ponechat uz zadefinovanich ziakov,stlacte:2');
readln(Q);
if Q=2 then begin-{tu mi pise type mismatch/error 26}
              assign(f,'meno.txt');
              reset(f);
              assign(ff,'priezvisko.txt'):
              reset(ff);
              assign(fff,'skola.txt');
              reset(fff);
              while not eof(f) do begin
                                    inc(i);
                                    readln(f,a[i].m);
                                    readln(ff,a[i].p);
              end;                      readln(fff,a[i].sk)
if Q=1 then begin
writeln('zadajte pocet ziakov:');
readln(n);
if n>20 then begin
               writeln('prilis velky pocet ziakov. K poctu prvkou je priradene cislo 20.');
               n:=20;
               end;
writeln('*************************************************************');
i:=0;
repeat
inc(i);
a[i].c:=i;
writeln('zadajte prosim meno ziaka:');
readln(a[i].m);
writeln('zadajte prosim priezvisko ziaka:');
readln(a[i].p);
writeln('zadajte prosim skolu, ktoru ziak nastevuje:');
readln(a[i].sk);
writeln('zadajte prosim priemer znamok zo 6. rocnika:');
readln(a[i].prz6);
writeln('zadajte prosim priemer znamok zo 7. rocnika:');
readln(a[i].prz7);
writeln('zadajte prosim priemer znamok z 8. rocnika:');
readln(a[i].prz8);
writeln('zadajte prosim priemer znamok z 9. rocnika:');
readln(a[i].prz9);
a[i].cpr:=a[i].prz6+a[i].prz7+a[i].prz8+a[i].prz9/4;
writeln('zadajte prosim body za priemer:');
readln(a[i].bpr);
until i=n;
end;
end;
begin
okno;
citaj;
readkey;
end.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nechceš aj napísať aký je ten "problém number two/three"? Ten zdroják sa mi lúštiť nechce
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

Kód: Vybrať všetko

if Q=2 then begin-{tu mi pise type mismatch/error 26} 
              assign(f,'meno.txt'); 
              reset(f); 
              assign(ff,'priezvisko.txt'): 
              reset(ff); 
              assign(fff,'skola.txt'); 
              reset(fff); 
              while not eof(f) do begin 
                                    inc(i); 
                                    readln(f,a[i].m); 
                                    readln(ff,a[i].p); 
              end;                      readln(fff,a[i].sk)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Q máš definované ako char, a porovnávaš ho s číslom. Buď budeš porovnávať s charom (teda if Q='2') alebo si Q definuj ako integer (ak ho inde nepotrebuješ používať ako char, nepozeral som ten kod)
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

dakujem ti fakt....ako by som ti mohol pomoct??totiz takichto "problemov" sa hadam este vyskytne...a citim sa zle ze mi tak nezistne a ochotne tu pomahas....kebyze fakt potrebujes pomoct povedz pokusim sa
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

budúcu stredu môžeš ísť za mňa na štátnice :)
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

ist mozem ist ale ci ich spravim lepsie ako ty? :lol: no pochybujem :D

dalsi problem/napise mi ze error 2:file not found

Kód: Vybrať všetko

uses crt;
type osoba=record
     m,p,sk:string;
     c,bpr:integer;
     prz6,prz7,prz8,prz9,cpr:real;
     end;
     juh=record
     ul,cd,m,hod:string;
     pr1,pr2,pr3,bod:integer;
     end;
     pole=array[1..20] of osoba;
     lol=array[1..20] of juh;
var a:pole;
    b:lol;
  r,i,n,j:integer;
    Q:char;
    f,ff,fff:text;
procedure citaj;
begin
writeln('ak chcete zadat novich ziakov,stlacte:1 ');
writeln('ak chcete ponechat uz zadefinovanich ziakov,stlacte:2');
readln(Q);
if Q='2' then begin
              assign(f,'meno.txt');
              reset(f);
              assign(ff,'priezvisko.txt');
              reset(ff);
              assign(fff,'skola.txt');
              reset(fff);
              while not eof(f) do begin
                                    inc(i);
                                    readln(f,a[i].m);
                                    readln(ff,a[i].p);
                                    readln(fff,a[i].sk);
                                              end;
                       end;
if Q='1' then ....

begin
okno;
citaj;
readkey;
end.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nenašlo súbor, skontroluj či nemáš v jeho mene preklep a či je tam kde má byť
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

ma byt v bine...preklep neni...predtym mi isiel
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

tým že má byť v adresári bin by som si nebol taký istý, pozri sa kde sa ti vytvára exe a tam má byť. Väčšinou to býva adresár work ak si ho neprepíšeš
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

nam to tak profesorka nakazala...a work tam nemam

//autoeditácia príspevku ( 23 May 2009, 18:56 )
a exe subor sa mi nevytvoril
mam turbo pascal..
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

compile/destination
ak tam máš memory, tak sa ti nevytvára exe. Ak máš disc tak sa vytvorí v adresári ktorý máš zadaný (ako som písal býva to defaultne adresár c:/program files/tp/work). Či sa ti ale exe robí alebo nie, nemá to na toto vplyv
options/directories
tam si zase meníš kde sa ti majú exe vytvárať, kde má hladať kadejaké veci čo potrebuje..
Ten textový súbor má byť tam, kde máš ako cestu Exe & TPU directory
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

viem mi niekto napovedat co som spravil zle?? dakujem :)
Prílohy
Bez názvu.jpg
picuge
Expert
Expert
Príspevky: 167
Registrovaný: 17 dec 2005, 20:38
Bydlisko: Bratislava/Martin

Príspevok od používateľa picuge »

Kód: Vybrať všetko

a[k].p:=a[k+1]
tu priradujes do stringu cely record. Aspon pokial som spravne pochopil...
takze bud das

Kód: Vybrať všetko

a[k].p:=a[k+1].p
alebo

Kód: Vybrať všetko

a[k]:=a[k+1]
aj ked myslim z,e tadruha moznost nebude fungovat a musis kopirovat kazdu z poloziek toho recordu osobitne (aj ked isty si nie som)
A7X
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 431
Registrovaný: 20 júl 2008, 14:23

Príspevok od používateľa A7X »

dakujem...je to primitivny problem...a nemozem pochopit ako ich mozem takto jednoducho prehliadat :?

//autoeditácia príspevku ( 28 May 2009, 19:46 )
rozumie niekto preco mi to v 9. riadku pise
error 26:type mismatch?hodi to na bodkociarku

Kód: Vybrať všetko

procedure vysledky;
          begin
          writeln('Utriedenie ziakov od najlepsieho ziaka(triedenie podla celkoveho poctu bodov)');
          L:=n;
          repeat
          max:=1;
          for i:=2 to n do if a[i].bod>a[max].bod then max:=i;
          pom:=a[L];
          a[L]:=a[max];
          a[max]:=pom;
          dec(L);
          until L=1;
          end;
Napísať odpoveď