Új hozzászólás Aktív témák
-
khalox
őstag
Err, ez tényleg mind szép, ám az eredeti probléma 'specifikációja', hogyismondjam... kissé hiányosnak tűnik.
Nem értem mit is akar? Szövegként adott szám karaktereit sorban word-ökké alakítani egy tömbben? Vagy egy stringként adott számot akar word-dé (mert arra van egyszerű függvény...).
Vagy a szöveg karaktereinek kódjait akarja 16 biten (unicode?)? Vagy mit?
[Szerkesztve] -
Gyuri16
senior tag
válasz
warezlord #192 üzenetére
na azert ebbe van 1-2 hiba:
hiba=abcdefg;
ez igy nem jo, hanem igy:
hiba:='abcdefg';
aztan:
hiba[1]{ami egyenlő az a betűvel}:=x;
Akkor x értékbe benne lesz ami a hiba sorozat 1. karakterje, vagyis az x értékben a betű lesz...
x:=hiba[1];
esetleg igy, mert mindig a bal oldali valtozoba teszi a jobb oldalon levo valtozot, nem forditva
lehet hogy arra gondolt az illeto, hogy ha van egy stringje, ami ilyen:
valtozo:='123';
akkor ezt hogyan lehet wordbe beletenni. Azt meg pontosan azzal lehet, amit irtal, tehat:
szam:word;
szam:=vatozo[1]*100+valtozo[2]*10+valtozo[3]; -
warezlord
tag
Késő délutáni UP!!!
-
warezlord
tag
válasz
bakaiadam #191 üzenetére
hallod te gyerek!
a STRING az egy olyan változó amibe szöveges értékek vannak benne.
pl: hiba=abcdefg;
Ahol a hiba az a string típusú változónak a neve, az abcdefg meg annak a tartalma.
ÉS a word típusú változó meg egész számokat képes tárolni, szal nem hiszem hogy stringből wordbe lehetne ''konvertálni''...
Legfeljebb így lehetséges:
hiba=abcdefg;
hiba[1]=a; ahol a hiba[x] a hiba x értékét adja ki...
hiba[2]=b;
és így tovább...
De ha akarod akkor leírhatom a teljes programot!
Csak mondd meg mihez kell! Mit kell csinálni + mibe kell másolni stb...
PL: hiba,x:string {ezek a változók és típusaik}
hiba:=abcdefg;
hiba[1]{ami egyenlő az a betűvel}:=x;
Akkor x értékbe benne lesz ami a hiba sorozat 1. karakterje, vagyis az x értékben a betű lesz...
De ha akarod akkor részletezhetek...
warezlord -
bakaiadam
csendes tag
sziasztok,még 1 kérdésem lenne,hogyan lehet egy string-et karakterekre bontva word-ökké alakítani,nagyon fontos lenne,thx
-
b14
senior tag
(* bmpread.pas *)
program Bitmap_olvasasa;
uses crt, graph, bitmap;
var gvezerlo, gmod,
hibakod, x, y :integer;
nev : string;
begin
clrscr;
writeln('K‚ren a .BMP f jl nev‚t: ');
readln(nev);
if nev='' then nev:='donald.bmp';
{ A grafika bekapcsol sa automatikus hardver ‚s m˘d detekt l ssal }
detectgraph(gvezerlo,gmod);
initgraph(gvezerlo,gmod,'');
{ Ha nem sikerlt bekapcsolni a grafik t kil‚p‚s a programb˘l }
hibakod := GraphResult;
if hibakod <> grOK then
begin
WriteLn('Grafika hiba:');
WriteLn(GraphErrorMsg(hibakod));
Halt(1);
end;
{ A .BMP f jl beolvas sa ‚s megjelenˇt‚se }
bmpdisplay(nev);
readln;
{ A grafika kikapcsol sa ‚s a sz”veges zemm˘d vissza llˇt sa}
closegraph;
restorecrtmode;
end.
Es a hsznalt unit:
(* BITMAP.PAS *)
{ a grafikus k‚perny“ k”zep‚re
16 szˇn– bitk‚p felolvas s t v‚gz“ modul }
unit bitmap;
interface
{ 16 szˇn– bitk‚p megjelenˇt‚se }
procedure BMPDisplay(FileName: string);
implementation
uses Graph;
type
TBitMapHeader = Record { a bitk‚p fejl‚ce }
bfType : word;
bfSize : longint;
bfReserved : longint; { 0 }
bfOffBits : longint;
biSize : longint;
biWidth : longint;
biHeight : longint;
biPlanes : word; { 1 }
biBitCount : word; {1,4,8,24}
biCompression : longint;
biSizeImage : longint; {b jtban}
biXPelsPerMeter : longint;
biYPelsPerMeter : longint;
biClrUsed : longint;
biClrImportant : longint;
end;
TRGBQuad = Record { az RGB-paletta elemei }
rgbBlue,
rgbGreen,
rgbRed,
rgbReserved : Byte;
end;
TByteArray = Array[0..50000] of byte;
{----------------------------------------------------}
{ 4-bites szˇneket tartalmaz˘ .BMP f jl tartalm nak }
{ megjelenˇt‚se a k‚perny“ k”zep‚n }
{----------------------------------------------------}
procedure Display4 (var f : file; BitMapHeader : TBitMapHeader);
var
i, y: Integer;
RGBQuad : TRGBQuad;
TwoPixel, Black : Byte;
Line : ^TByteArray;
number : word;
CurrentX, BeginX, BeginY, EndY : Integer;
begin
if GetMaxColor < 15 then
begin
OutText ('Ez a m˘d nem t mogatja a 4 bites szˇnek haszn lat t!');
Exit;
end;
Black := 16;
{ a palettaszˇnek felolvas sa }
for i:= 0 to 15 do
begin
BlockRead(f, RGBQuad, SizeOf(RGBQuad));
if (longint(RGBQuad)=0) then Black := i;
with RGBQuad do
SetRGBPalette(i, rgbRed shr 2, rgbGreen shr 2, rgbBlue shr 2);
SetPalette(i,i);
end;
{ a bitk‚p k”z‚pre igazˇt sa }
with BitMapHeader do
begin
{ a k‚psor b jtok sz ma }
Number := (biWidth div 2 + 3) and not 3;
{ k”z‚pre helyezi a k‚perny“n }
BeginX := (GetMaxX - biWidth) div 2;
BeginY := GetMaxY - (GetMaxY - biHeight) div 2;
EndY := BeginY + 1 - biHeight;
end;
{ a k‚p bitjeinek feldolgoz sa }
GetMem (Line, number + 1);
{ soronk‚nt }
for y:=BeginY downto EndY do
begin
BlockRead(f, Line^[1], number);
CurrentX := BeginX;
{ b jtonk‚nt }
for i:=1 to number do
begin
TwoPixel := Line^; { k‚t k‚ppont }
if TwoPixel shr 4 <> Black then { a fels“ }
PutPixel(CurrentX, y ,TwoPixel shr 4);
Inc(CurrentX);
if TwoPixel and 15 <> Black then { az als˘ }
PutPixel(CurrentX, y, TwoPixel and 15);
Inc(CurrentX);
end;
end;
FreeMem (Line, number+1);
end;
procedure NotDisplay(colors:byte);
var
tst : string[4];
begin
str(colors, tst);
OutText (tst+' bites szˇneket tartalmaz˘ bitk‚p megjelenˇt‚s‚re nem alkalmas!');
end;
{--------------------------------------------}
{ A megadott nev– .BMP llom ny feldolgoz sa }
{--------------------------------------------}
procedure BMPDisplay(FileName: string);
var f: file;
BitMapHeader : TBitMapHeader;
begin
Assign(f,FileName);
FileMode := 0; {Read Only}
{$I-}
Reset(f,1);
FileMode := 2; {Default}
{$I+}
if IOResult<>0 then
begin
OutText ('A(z) '+FileName+' nev– f jl nem l‚tezik!');
Exit;
end;
{ a bitk‚pfejl‚c beolvas sa }
BlockRead(f, BitMapHeader, SizeOf(BitMapHeader));
with BitMapHeader do
begin
if (bfType<>19778) or (bfReserved<>0) or (biPlanes<>1) then
begin
OutText ('Nem Windows bitk‚p llom ny!');
Close(f);
Exit;
end;
if biCompression<>0 then
begin
OutText ('Nem tud megjelenˇteni t”m”rˇtett llom nyt!');
Close(f);
Exit;
end;
ClearDevice;
case biBitCount of
1 : NotDisplay(1); { 1-bites szˇn: ? }
4 : Display4(f, BitMapHeader);{ 4-bites szˇn }
8 : NotDisplay(8); { 8-bites szˇn: ? }
24 : NotDisplay(24); { 24-bites szˇn: ? }
else
begin
OutText ('Nem Windows bitk‚p llom ny!');
Close(f);
Exit;
end;
end;
end;
Close(f);
end;
end.
Remelem erre volt szukseged.
Tovabbi jo programozást.
Ha nem erre lett volnaszukseged akkor csak szolj vannak meg ilyen dolgaim -
b14
senior tag
Ha egybe nezem, csodalkozok, hogy milyen szep hosszu ki topic lett és mennyire eltértünk a témátol
[Szerkesztve] -
b14
senior tag
Hello!
http://pascal.uw.hu/progs/bmpread.pas
http://pascal.uw.hu/progs/bitmap.tpu -
B-52
csendes tag
válasz
KovacsUr #176 üzenetére
Hello!
Sajna csak 16-s tud kezelni jobb tipppeket szivesen fogadok, egyébkén nem régen programozok tehát ne képzald, hogy netán profilennék ezért ha van információd azt érthetően küld.Ja a jövőhéten készlesz a torpedó alapverziója majd ha érdekel elküldhetem.
Na hello.:y -
Gyuri16
senior tag
válasz
bakaiadam #177 üzenetére
pont az a lenyek, hogy a kepressed csak true vagy false lehet, igy megcsinalod''
if keypressed then valtozo:=readkey
ez azt csinalja, hogy csak akkor csinalja a readkeyt, amikor tenyleg megnyomsz valamit. Probald ki, biztos hogy menni fog. Ha meglesz megnezem a programot -
bakaiadam
csendes tag
a keypressed azért nem jó mert ez csak true és false lehet,a readkey meg akár száz is(százgombos billentyűzeten),de ebben nem vagyok biztos,amúgy tetszik a program?
-
KovacsUr
addikt
-
Gyuri16
senior tag
válasz
bakaiadam #170 üzenetére
ezt nem teljesen ertem, szerintem igy a legjobb, a programod nem neztem, de valoszinu meg lehet igy irni, persze ehhez ertenem kellene azt amit mondtal, milyen 2-3 ertek?
vagyis mi a 3 ertek, ugye a keypressed vagy true vagy false, ez utan meg valamibe readkeyozol, es ott mar mindent be tudsz olvasni
[Szerkesztve] -
bakaiadam
csendes tag
a keypressed azért nem jó,mert csak 2 értéket vehet fel és a program 3 értékkel dolgozik
-
B-52
csendes tag
Nincs sok időm, ha valakí tud segíteni jeleze!!!!!!!!!
-
B-52
csendes tag
Hello!!!!!!!!!!!
Kis segitség kénne, hogyan lehet beszórni képet háttérnek?????????????
(forráskód jólene példaként) -
Gyuri16
senior tag
marmint hogy egy bizinyos koordinatan milyen karakter van? Arra van egy jo dolog. Itt az egesz kepernyod egy 2 dimenzios tombben van benne. Igy nez ki:
kep : array [1..25,1..80] of record c:char; a:byte end absolute $b800:$0000;
egy kis komment, ha a kepernyod beallitasa 80*25 akkor egy van, de ha 80*50 akkor a 25 ot termeszetesen at kell irnod 50 re.
ezt beirod elejere a var hoz, aztan le tudod kerdezni a jeleket igy:
kep[1,1].c= ez a 1,1 koordinatan levo karaktert adja meg
kep[1,1].a= ez meg a szine
megadni is megtudod termeszetesen:
kep[1,1].c:='a';
kep[1,1].a:=blue;
vagy ha a kocka hatterszinet szeretned megadni, akkor azt is lehet, ha pl kek hatteret szeretnel:
kep[1,1].a:=blue * 16;
a szorzas 16al azert van ott, mivel a szint 8 bit adja meg, a felso 4 adja meg a hatteret az also negy meg a karakter szinet, namarmost ha a felso 4et akarom megadni akkor odebb kell tolnom az egeszet neggyel, tehat 2 a negyedikennel, ami 16 (ha nem vilagos nezzuk a tizes szamrendszert, ha van egy szamod pl 5 abbol 500 at akarsz csinalni, tehat odebbtolni 2 hellyel 10 a masodikonnal kell szorozni).
Remelem tudtam segiteni -
b14
senior tag
a szoveges kepernyo egy bizonyos karakteret hogy lehet lekerdezni?
-
bakaiadam
csendes tag
ha mondjuk bemásolnád és elindítanád, észrevehető,hogy amig nem adsz meg egy betüt,addig szünetelteti a program futását
-
rgb7
tag
törölni a pascalt, használjatok qbasicek!
-
bakaiadam
csendes tag
de a readkaey helyett tudtok valami más parancsot ajánlani
-
bakaiadam
csendes tag
program jatek;
uses {graph,}dos,crt;
var vege:boolean;
var ezelotti,gomb:char;
var regihelyzet,helyj2,szam,szam2,szam3,regihelyzetregihely,szin,helyj,helyzet:byte;
var g,h,b,a,fsd,fdd,szaml,hely2,hely,ido,ora,perc,masod,ms,{,a,b,}c:longint;
procedure jatekmenet2;
begin
randomize;
if (helyzet=hely2) and (helyj2=1) then vege:=true;
hely2:=random(3);
hely2:=hely2+10;
end;
procedure jatekmenet;
begin
randomize;
if (helyzet=hely) and (helyj=1) then vege:=true;
hely:=random(3);
hely:=hely+10;
end;
procedure kepetfrissit;
begin
helyj:=helyj-1;
helyj2:=helyj2-1;
if helyj2=1 then clrscr;
if helyj=1 then clrscr;
if helyj2=1 then jatekmenet2;
if helyj2=1 then helyj2:=10;
if helyj=1 then jatekmenet;
if helyj=1 then helyj:=10;
if hely=10 then jatekmenet;
if hely2=10 then jatekmenet2;
gotoxy(hely,helyj+1);
textcolor(black);
write('ţ');
gotoxy(hely2,helyj2+1);
write('ţ');
gotoxy(helyzet,1);
textcolor(red);
write('|');
textcolor(green);
gotoxy(hely,helyj);
write('1');
gotoxy(hely2,helyj2);
write('2');
end;
procedure idozit;
begin
gettime(g,h,b,a);
ido:=b;
{if b<59 then ido:=b+1;
if b=59 then ido:=1;}
repeat
gettime(g,h,b,a);
gomb:='0';
repeat
if ido<>b then readkey;
until readkey<>'0';
if readkey<>'0' then gomb:='a';
ezelotti:=readkey;
if readkey='d' then gomb:='d';
if readkey='a' then gomb:='a';
if readkey='s' then gomb:='s';
if gomb='d'then helyzet:=12;
if gomb='a'then helyzet:=10;
if gomb='s' then helyzet:=11;
gotoxy(11,1);
write(' ');
gotoxy(12,1);
write(' ');
gotoxy(10,1);
write(' ');
gotoxy(helyzet,1);
textcolor(red);
write('ţ');
until {((gomb<>'0') and (ezelotti<>readkey) or} ido<b;
end;
procedure kepetfrissit1;
begin
helyj:=10;
helyj2:=14;
gotoxy(hely,helyj+1);
textcolor(black);
write(' ');
gotoxy(hely2,helyj2+1);
write(' ');
gotoxy(helyzet,1);
textcolor(red);
write('|');
textcolor(green);
gotoxy(hely,helyj);
write('|');
gotoxy(hely2,helyj2);
write('|');
end;
begin
hely:=11;
hely2:=12;
helyj:=10;
helyj2:=14;
jatekmenet;
jatekmenet2;
repeat
szaml:=szaml+1;
idozit;
kepetfrissit;
until vege=true;
end.
Mit szóltok hozzá?Csak az a fránya readkey meg lenne oldva -
bakaiadam
csendes tag
program jatek;
uses {graph,}dos,crt;
var vege:boolean;
var ezelotti,gomb:char;
var regihelyzet,helyj2,szam,szam2,szam3,regihelyzetregihely,szin,helyj,helyzet:byte;
var g,h,b,a,fsd,fdd,szaml,hely2,hely,ido,ora,perc,masod,ms,{,a,b,}c:longint;
procedure jatekmenet2;
begin
randomize;
if (helyzet=hely2) and (helyj2=1) then vege:=true;
hely2:=random(3);
hely2:=hely2+10;
end;
procedure jatekmenet;
begin
randomize;
if (helyzet=hely) and (helyj=1) then vege:=true;
hely:=random(3);
hely:=hely+10;
end;
procedure kepetfrissit;
begin
helyj:=helyj-1;
helyj2:=helyj2-1;
if helyj2=1 then clrscr;
if helyj=1 then clrscr;
if helyj2=1 then jatekmenet2;
if helyj2=1 then helyj2:=10;
if helyj=1 then jatekmenet;
if helyj=1 then helyj:=10;
if hely=10 then jatekmenet;
if hely2=10 then jatekmenet2;
gotoxy(hely,helyj+1);
textcolor(black);
write('ţ');
gotoxy(hely2,helyj2+1);
write('ţ');
gotoxy(helyzet,1);
textcolor(red);
write('|');
textcolor(green);
gotoxy(hely,helyj);
write('1');
gotoxy(hely2,helyj2);
write('2');
end;
procedure idozit;
begin
gettime(g,h,b,a);
ido:=b;
{if b<59 then ido:=b+1;
if b=59 then ido:=1;}
repeat
gettime(g,h,b,a);
gomb:='0';
repeat
if ido<>b then readkey;
until readkey<>'0';
if readkey<>'0' then gomb:='a';
ezelotti:=readkey;
if readkey='d' then gomb:='d';
if readkey='a' then gomb:='a';
if readkey='s' then gomb:='s';
if gomb='d'then helyzet:=12;
if gomb='a'then helyzet:=10;
if gomb='s' then helyzet:=11;
gotoxy(11,1);
write(' ');
gotoxy(12,1);
write(' ');
gotoxy(10,1);
write(' ');
gotoxy(helyzet,1);
textcolor(red);
write('ţ');
until {((gomb<>'0') and (ezelotti<>readkey) or} ido<b;
end;
procedure kepetfrissit1;
begin
helyj:=10;
helyj2:=14;
gotoxy(hely,helyj+1);
textcolor(black);
write(' ');
gotoxy(hely2,helyj2+1);
write(' ');
gotoxy(helyzet,1);
textcolor(red);
write('|');
textcolor(green);
gotoxy(hely,helyj);
write('|');
gotoxy(hely2,helyj2);
write('|');
end;
begin
hely:=11;
hely2:=12;
helyj:=10;
helyj2:=14;
jatekmenet;
jatekmenet2;
repeat
szaml:=szaml+1;
idozit;
kepetfrissit;
until vege=true;
end.
Mit szóltok hozzá?Csak az a fránya readkey meg lenne oldva -
b14
senior tag
En keszitettem egy sajat unitot: http://pascal.uw.hu/progs/bu.tpu
Nem egy nagy cucc.
Csak a munkamat konnyitem vele. Ha valakit erdekel az eljarasok listaja, az irjon a pascal@pro.hu címre. Azt elmondom elore, hogy van benne egy elok(hatterszn,szovegszi:byte) eljaraws ez helyettesiti a textcolor,backgoroundcolort eljarasokat !!!VIGYZAT AZ ELOK, MIELOTT BEALLITANA A HATTERSZINT, SZOVEGSZINT KEPERNYOT TOROL!!!!
udv b14; -
bakaiadam
csendes tag
köst az előső segítséget,megint lenne egy kérdésem,mért tüntek el a karakterek a képernyőről éás csak a kurzor villog?(crt,dos modul)
-
Robiba
tag
A 200 MHz-nél gyorsabb gépeken az eredeti crt unitban a delay műveletnél nullával való osztási hiba keletkezik. Léteznek a unitot javító hivatalos és magán patch-ek, illetve az exe-ket patch-elő kis programok is. Több ezer helyről letölthetőek.(pl. keressél erre: ''crt unit patch'') Talán még a www.borland.hu-n is ott van.
Igen itt van
Bővebben: link
[Szerkesztve] -
Gyuri16
senior tag
Bővebben: link
innen letoltheted, aztan a units konyvtarba bele, ugy kell mennie -
F-ECT$
titán
Akkor még mindig nem tudjuk, hogy mi a hiba
-
zenit
tag
Eh, szerintem már volt erről szó korábban is.
A jobb oldalon kizárólag byte-ok szerepelnek, így byte-os aritmetikával fog számolni (és emiatt túlcsordulhat az összeg). Csak utána nézi meg, hogy a bal oldalon meg real van, így a végeredményt real-re konvertálja, de az már késő.
f:=a+b+c+d+e; <> f:=real(a)+real(b)+real(c)+real(d)+real(e); -
Nicole
csendes tag
Sziasztok!
Én is teljesen kezdő vagyok. Egy-két napja kezdtem a Pascal-t, de nem sok sikerem volt eddig! Tudna vki segíteni?
A programnak öt szám átlagát kellene kiszámítania, de nagyon nem akarja!
Így néz ki:
program at;
uses crt;
var a,b,c,d,e:byte;
f:real;
begin
clrscr;
writeln('Öt szám átlaga');
writeln('kérem az első számot');
readln(a);
writeln('kérem a második számot');
readln(b);
writeln('kérem a harmadik számot');
readln(c);
writeln('kérem a negyedik számot');
readln(d);
writeln('kérem az ötödik számot');
readln(e);
f:=a+b+c+d+e;
f:=f/5;
writeln('a keresett átlag:',f:10:2);
readln;
end.
Mi lehet a hiba?
VALAKI LÉGYSZI SEGÍTSEN!!!! -
űáélkM
tag
Mi az a kotangens fügvény?
-
b14
senior tag
válasz
KovacsUr #120 üzenetére
Hello
Mindenesetre kosz a megoldasokat, de enmashogy oldottam meg, de az kicsit hosszabb.
Leirom, hogy mas talan megnezi.
biztos van benne hiba, mert fejbol irom.
uses crt;
var
szam,hosszusaga:longint;
filetempext;
ch:char;
begin
writeln('Kerek egy szamot');
readln(szam);
assign(filetemp,'c:\nemkell.txt');
rewrite(filetemp);
write(filetemp,szam);
close(filetemp);
assign(filetemp,'c:\nemkell.txt');
reset(filetemp);
repeat
read(filetemp,ch);
hosszusaga:=hosszusaga+1
until eof(filetemp);
close(filetemp);
writeln('A szam hossza: ',hosszusaga);
end.
Bocsesz a zold kis pofiert,de a kettospont t az a pofi es mashogy nem tuttam
[Szerkesztve] -
(_Y_)
csendes tag
szóval szerintem az lehet a probléma, hogy nem vagy tisztában a jelölésekkel.
a helyes program:
var sz:integer;
begin
readln (sz; {a [] jelek helyett sima () zárójel kell}
if szam mod 2=0 then
writeln ('páros') {itt is elírtad a cuccost, de erre rájöttél volna}
else writeln ('páratlan')
readln;
end.
soxerencsét a további tanuláshoz -
KovacsUr
addikt
válasz
bakaiadam #106 üzenetére
Ühüm, megvan. A DOS unit használja a Use32 unitot, és így a Word 32 bites. Vagy tedd be te is a Use32 unitot a uses kifejezésbe, vagy használj LongInt típusú változókat.
Így működni fog:
program jd;
uses Use32, DOS;
var
g,h,b,a: Word;
begin
gettime(g,h,b,a);
end.
Így is:
program jd;
uses DOS;
var
g,h,b,a: LongInt;
begin
gettime(g,h,b,a);
end. -
bakaiadam
csendes tag
A hiba:''type Mismath''(lhet,hogy rosszul írtam le,de valami ilyesmi)asszem 26-os hibakód
-
-
b14
senior tag
Hello
Nem tudja valaki, hogy a length fuggvényt/eljárást hogy lehet használni integer es longinteknel? -
eddie303
őstag
Ha nem megy, próbáld meg DosBox alatt.
-
bakaiadam
csendes tag
bocs,de legalább a moderátornak nem kéne segíteni!!!!!!!!????(mármint nekem)
-
bakaiadam
csendes tag
Az op. rendszerrel nem lehet gond,hogy nem működnek a 16 bites .exe fájlok?(win xp prof.)segítsetek,mert így nem lehet programozni(A pascslból is azonnal kilép)
-
bakaiadam
csendes tag
sürgős!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!4
-
bakaiadam
csendes tag
Segítenétek?Sajnos már nem emléxek pontosan a forrásra de ezel van a gond:
program jd;
uses crt,dos;
var,g,h,b,a:word;
begin
gettime(g,h,b,a);
itt az utolsó sorban van a gond,most tértem át VP-re ez is lehet gond?(mert eddig működött) -
Prim-e:
Végigmész az összes páratlan számon 3-tól a szám négyzetgyökéig, és ha egyik sem osztja, akkor prim. Természetesen 2 is prim, azt külön csekkolod az elején.
Tehát a a szám, b=3,5,7....sqrt(a). Ha a mod b=0, akkor nem prim, kiszállhatsz a ciklusból.
Pl: 23
sqrt(131)=11. mittoménmennyi, lefelé kerekítünk. 11.
131 mod 3=2 tovább.
131 mod 5=1 tovább.
131 mod 7=4 tovább.
131 mod 9=5 tovább.
131 mod 11=10 tovább.
Nincs tovább, prim.
Nem a legoptimálisabb, de egyszerű, könnyen érthető.
LNKO:
Van két számod, ezek közül legyen a nagyobb a és a másik b.
a=b*q+r alapú összefüggéssel (Euklideszi algoritmus) dolgozunk. Ha r=0, akkor lnko(a,b)=b, különben a=b, b=r és számolunk újra, r=0-ig megyünk.
Pl:
lnko(27,7).
27=7*3+6. mivel r=6, tovább.
7=6*1+1. mivel r=1, tovább.
6=1*6+0. mivel r=0, vége, mivel b=1, ezért lnko(27,7)=1.
LKKT:
Kiszámolod az lnko-t.
a*b=lnko(a,b)*lkkt(a,b). Innen lkkt(a,b)=a*b/lnko(a,b).
Remélem nem szúrtam el semmit...
Pascal szintaktikáját meg elfelejtettem már, ezért nem írtam kódot, biztos rossz lenne.
[Szerkesztve] -
GoMEE
csendes tag
LNKO számolására ez a legegyszerűbb megoldás (gondoljatok bele, hogy miért igaz) :
szam1, szam2: integer
ciklus amig szam1<>szam2
ha szam1<szam2 akkor szam2=szam2-szam1
ha szam1>szam2 akkor szam1=szam1-szam2
ciklus vége
write(szam2)
A szam2 lesz a végén a legnagyobb közös osztó, próbáljátok ki, soxor jóljön ez a kis progi. -
heihachi
addikt
LNKO:
függvény (szám1, szám2)
..lnko = 1
..ha szám2>szám1 akkor csere(szám1,szám2)
..osztó = szám2
....ciklus amíg osztó > 1
......ha maradék(szám1 / osztó)=0 és maradék(szám2 / osztó)=0 akkor
........lnko = osztó
........break
......feltétel vége
......osztó = osztó-1
....ciklus vége
..visszatérési érték = lnko
függvény vége
valami ilyesmi lehet...
(a csere alatt csak azt értem, hogy megcseréled szám1 és szám2 értékét)
[Szerkesztve]
[Szerkesztve] -
djtörök
senior tag
vki írna nekem olyan algoritmust, amelyel a pi értékét lehet számolni(tpascal)?
[Szerkesztve]
Új hozzászólás Aktív témák
Hirdetés
- Intel Dual Core 2000 felhasználók barátságos offolós topikja
- Milyen billentyűzetet vegyek?
- Milyen légkondit a lakásba?
- Apple Watch
- RETRO beárazás (mobil, PC, konzol)
- A Temu diktál Magyarországon, a hazai e-kereskedők fulladoznak
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Vicces képek
- További aktív témák...
- Eladó LG OLED42C31LA 120Hz (garanciális, hibátlan állapotban)
- Katonai Rugged laptopok Panasonic Toughbook és Getac S410 6-11.gen gar.
- Lenovo ThinkPad P1 G2 Tervező Vágó Laptop -70% 15,6" Xeon E-2276M 32/1TB QUADRO T2000 4GB FHD
- Dell OptiPlex 3050 számítógép (I3/8gb/240SSD)
- Lenovo Thinkpad T495s Ryzen 5 PRO 3500U/16GB RAM/256 SSD/14" FHD touch Magyar bill. laptop eladó
- Xiaomi 13T / 8/256GB / Kártyafüggetlen / 12Hó Garancia / AKCIÓÓÓ !
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3109
- Honor Magic6 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA! Épített KomPhone i5 13400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- 123 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 - 4 év garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest