- Sony MILC fényképezőgépcsalád
- Házimozi haladó szinten
- AMD vs. INTEL vs. NVIDIA
- Hogy is néznek ki a gépeink?
- AMD Navi Radeon™ RX 9xxx sorozat
- Tizenkét tányérra térne át a Toshiba a HDD-piacon
- Meghalt a Windows 10, éljen a Windows 10!
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Analóg fényképezés
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
Új hozzászólás Aktív témák
-
[HUN]Zolee
őstag
válasz
zvaragabor #2217 üzenetére
Akkor nézd meg így.
/nincs pascalom, csak itt írom meg, ezért lehet hibás/
program osztaly;
uses wincrt;
var vektor:array[1..10] of integer;
aktual,ossz,kor,i,felettidb:byte;
atlag:real;
begin
clrscr;
write('Kérem az aktuális évszámot :');
readln(aktual);
writeln('Kérem a tíz tanuló születési évét:');
for i:=1 to 10 do
readln(vektor[i]);
felettidb:=0;
ossz:=0;
for i:=1 to 10 do
begin
if (aktual-vektor[i]>=18) then felettidb:=felettidb+1;
ossz:=ossz+(aktual-vektor[i]);
end;
atlag:=ossz/10;
write('18 ev felettiek szama: ',felettidb);
writeln('A tanulók átlag életkora: ',atlag);
end. -
cucka
addikt
válasz
zvaragabor #2217 üzenetére
a for i:=1 to 10 ciklus belsejében elindítani egy for i:=1 to 10 ciklust az helyből rossz.
A program lényegi része ennyi. Mi általános iskola nyolcadik osztályában csináltunk ennyire egyszerű feladatokat. Igen, jól látod, egyáltalán nem kell semmilyen tömbben eltárolni a sorozatban beérkező számokat ahhoz, hogy összeadd őket.
writeln('Kérem a tíz tanuló születési évét:');
for i:=1 to 10 do
begin
readln(szul_evszam);
ossz:=ossz+10;
if (aktual-szul_evszam>18) then inc(felettidb);
end;
write('18 even feluliek: ',felettidb);
write('atlag: ',ossz/10;mod.
még egy javaslat: ha nem szeretnéd magad szivatni a jövőben (amikor nem 13 sor lesz a program), akkor igyekezz normális változóneveket kitalálni. Mindent nevezz el arról, amilyen adat van benne, pl. a vektort ne vektornak hívd, mert az nem mond semmit, helyette lehet a neve eletkorok, az aktualis évszámot hívhatod évszámnak, stb. -
zvaragabor
senior tag
válasz
zvaragabor #2216 üzenetére
Ezt megoldottam. Valamint a felettiek meghatározásánál volt még gond.Ügyküdtem, itt tartok:
program osztaly;
uses wincrt;
var vektor:array[1..10] of integer;
aktual,ossz,kor,i,felettidb:byte;
atlag:real;
begin
clrscr;
write('Kérem az aktuális évszámot :');
readln(aktual);
writeln('Kérem a tíz tanuló születési évét:');
for i:=1 to 10 do
readln(vektor[i]);
felettidb:=0;
atlag:=0;
for i:=1 to 10 do
begin
if (aktual-vektor[i]>=18) then felettidb:=felettidb+1;
ossz:=0;
for i:=1 to 10 do
begin
vektor[kor]:=aktual-vektor[i];
ossz:=ossz+vektor[kor];
end;
end;
atlag:=ossz/10;
write('18 ev felettiek szama: ',felettidb);
writeln('A tanulók átlag életkora: ',atlag);
end.Érdekes eredményeket kapok.
-
[HUN]Zolee
őstag
válasz
zvaragabor #2214 üzenetére
Nagyából megcsináltam, de nem biztos hogy hibátlan
. Ha teszel fel konkrét kérdést arra is választ kaphatsz. Üdv.
program osztaly;
uses wincrt;
var vektor:array[1..10] of integer;
aktual,i,feletti: integer;
atlag : double;
begin
clrscr;
write('Kérem az aktuális évszámot :');
readln(aktual);
writeln('Kérem a tíz tanuló születési évét: ');
for i:=1 to 10 do
readln(vektor[i]);
feletti:=0;
atlag:=0;
for i:=1 to 10 do
begin
if (aktual-vektor[i]>=18) then (vektor[i]=feletti) feletti:=feletti+1;
atlag:=atlag+vektor[i];
end;
atlag:=atlag/10
writeln("18 ev felettiek szama:",feletti);
writeln("atlageletrko:",atlag:2:0);
end. -
[HUN]Zolee
őstag
válasz
zvaragabor #2180 üzenetére
ha a kiiratós rész if-hez egy else ágba odaírod hogy nem adott meg számokat, akkor még szép is, mert így most, ha kapsából 0 üttsz akkor kilépés nem ír ki semmit
-
RoyalFlush
őstag
válasz
zvaragabor #2177 üzenetére
0 megadását követően nem fut le többször az adott ciklus.
A fórumtárs által megírt kódba (de az enyémbe is) kezelve van, hogy nullával ne történjen osztás .. Magyarul ha már az első megadott szám a 0, nem fognak az adott programrészben található parancsok végrehajtódni. -
RoyalFlush
őstag
válasz
zvaragabor #2175 üzenetére
Meg van oldva a házi feladat is
-
[HUN]Zolee
őstag
válasz
zvaragabor #2167 üzenetére
Hát a tanár se akart túl jó progit írni, mert ha kapásból 0 ütsz be akkor szépen az átlagnál 0 val szeretne osztani, ami ugye még nem igazán megy
-
RoyalFlush
őstag
válasz
zvaragabor #2167 üzenetére
Az alsó vonalnak nincs különösebb szerepe, leginkább csak annyi hogy elválasztja a két szót, legkisebbdb helyett legkisebb_db.
-
RoyalFlush
őstag
válasz
zvaragabor #2159 üzenetére
A kód (bár lehet kissé túlbonyolítottam - vagy 6 éve nem programoztam Pascalban
- ettől függetlenül szerintem műxik):
program szamok;
uses crt;
var
szam, n, db, osszeg, legkisebb: integer;
atlag: real;
begin
clrscr;
szam := 0;
n := 0;
db := 0;
osszeg := 0;
legkisebb := 0;
repeat
write('Kerem a szamot: '); readln(szam);
osszeg := osszeg + szam;
if (n = 0) then
begin
legkisebb := szam;
db := 1;
end;
if (szam <> 0) and (n > 0) then
begin
if (szam < legkisebb) then
begin
legkisebb := szam;
db := n + 1;
end;
end;
n := n + 1;
until (szam = 0);
writeln;
writeln('Szamok osszege: ',osszeg);
writeln('Legkisebb a(z) ',legkisebb,', a(z) ',db,'. bekert szam volt.');
if (n <> 1) then
begin
atlag := osszeg / (n - 1);
writeln('Atlag: ',atlag);
end;
if (n = 1) then writeln('Atlag: Nem ertelmezheto!');
readln;
end. -
[HUN]Zolee
őstag
válasz
zvaragabor #2159 üzenetére
Az until és a db megnövelése közé.
Lehet nem pontosa a kód, mert már 1-2 éve nem láttam pascal-t
Amúgy ebbe a felállásba ahogy a txt van az átlag változód feleslegessé váltHibásan számolja az átlagot, ez így ki, mert ha 0-t ütsz akkor is megnöveli a db számot 1-el.
repeat
writeln('Kérem a számot: ');
read(n);
if n<>0 then
begin
osszeg:=osszeg+n;
db:=db+1;
if legkissebb>n then
begin
legkissebb=n ;
legkissebb_db=db;
end;
end;
until n=0;Valami ilyesmire gondoltam.
-
shev7
veterán
válasz
zvaragabor #2154 üzenetére
es atlagot sem igy szamolunk
hanem majd a vegen...
-
[HUN]Zolee
őstag
válasz
zvaragabor #2154 üzenetére
if legkissebb>n
then
begin
legkissebb=n ;
legkissebb_db=db; /ha a db változó megnövelése után írod be/
end; -
RoyalFlush
őstag
válasz
zvaragabor #2154 üzenetére
Ok, mindjárt megnézem (megírom), de én nem így csinálnám meg
-
zvaragabor
senior tag
válasz
zvaragabor #2111 üzenetére
Most veszem észre, hogy van FreePascal topik, bocsi, hogy ide írtam. Felteszem ott is a kérdést. A válaszokat/ötleteket oda (is) várom.
Köszi
Üdv.
-
Lortech
addikt
válasz
zvaragabor #2109 üzenetére
szerkesztve : Mégis van rá függvény Turbo Pascalban. Pi a neve.
Új hozzászólás Aktív témák
- iPhone topik
- Háztartási gépek
- One mobilszolgáltatások
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Sony MILC fényképezőgépcsalád
- Házimozi haladó szinten
- World of Tanks - OFF topic
- Android szakmai topik
- AMD vs. INTEL vs. NVIDIA
- Hogy is néznek ki a gépeink?
- További aktív témák...
- PlayStation 5 FAT Lemezes + kontroller 6 hó garancia, számlával!
- GYÖNYÖRŰ iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3082
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3521
- BESZÁMÍTÁS! ASRock Formula OC RX 6900 XT 16GB videokártya garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 15 Plus 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest