hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.10.12. 00:27



Jelenlévő felhasználók

Jelenleg 273 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 273 vendég

A legtöbb felhasználó (2883 fő) 2025.07.30. 16:00-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználóaz elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [39309 hozzászólás ]  OldalElőző1136113621363136413653931Következő
Szerző Üzenet
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 17:06 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
Metal írta:
Virtual, 2es feladat.

Lehet javítani, szal szóljatok ha nem jó.

SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. 2. Feladat:
  3. Egy teherszállító vonatnak legtöbb 20 kocsija lehet.
  4. Minden kocsi legtöbb 5000 kg terhet szállíthat.
  5. Írjatok programot az alábbi feladatok megoldására:
  6. a)a kocsik terhelésének beolvasására és kiíratására
  7. b)a teljesen megtöltött kocsik kiíratására
  8. c)a legkisebb terheléssel rendelkező kocsik kiíratására
  9. Szerkesszetek tesztadatokat minden program helyességének ellenőrzésére!
  10.  
  11. program TeherSzallito;
  12. const
  13. N: integer := 20;
  14. MAXSULY: integer := 5000;
  15. var
  16. vagon:array[1..N] of integer;
  17. vagonszam: integer;
  18. i: integer;
  19. input: integer;
  20. l: boolean;
  21. mini : integer;
  22. begin
  23. for i:=1 to N do
  24. begin
  25. vagon[i] := -1;
  26. end;
  27.  
  28. WriteLn("Mennyi kocsi van?");
  29. ReadLn(vagonszam);
  30. while (vagonszam<1 or vagonszam>N) do
  31. begin
  32. WriteLn('1-tol ', N, '-ig adj meg erteket');
  33. ReadLn(vagonszam);
  34. end;
  35.  
  36. i:=1;
  37. while (i<=vagonokszama) do
  38. begin
  39. WriteLn('1-tol ', N, '-ig adj meg erteket');
  40. ReadLn(input);
  41. if (input>MAXSULY or input<0) then
  42. WriteLn('0-tol ', MAXSULY, '-ig add meg az aktuális terhelés mennyiségét');
  43. else
  44. begin
  45. vagon[i] := input;
  46. i:=i+1;
  47. end;
  48. end;
  49.  
  50. WriteLn('Kocsik szama: ', N);
  51. WriteLn('Kocsik terhelése');
  52. i:=1;
  53. mini := 1
  54. while (i <= N or vagon[i] = -1) do
  55. begin
  56. WriteLn(i, '. kocsi terhelese: ', vagon[i], ' kg');
  57. if (vagon[mini] < vagon[i]) then
  58. mini := i;
  59. i:=i+1;
  60. end;
  61. WriteLn('A teljesen megtöltött kocsik:');
  62. l:=false;
  63. i:=1;
  64. while (i <= N or vagon[i] = -1) do
  65. begin
  66. if (vagon[i] = MAXSULY) then
  67. begin
  68. WriteLn(i);
  69. l:=true;
  70. end
  71. i:=i+1;
  72. end;
  73.  
  74. if (l=false) then
  75. WriteLn("Nincs teli kocsi");
  76.  
  77. WriteLn('A legkisebb terheléssel rendelkező kocsik:');
  78. i:=1;
  79. while (i <= N or vagon[i] = -1) do
  80. begin
  81. if (vagon[i] = vagon[mini]) then
  82. WriteLn(i);
  83. i:=i+1;
  84. end;
  85. end;
  86.  

ez sem jó, mindj megírom én is mindkettőt :P

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 17:07 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Najó, lehúzok egy Pascal fordítót (:

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 17:10 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Ha azt akarod mondani, h a tömb deklarálás nem jó, akkor nézd meg előtte...constans értéket kap, ami ugye fordító behelyettesít....

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 17:12 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
Metal írta:
Ha azt akarod mondani, h a tömb deklarálás nem jó, akkor nézd meg előtte...constans értéket kap, ami ugye fordító behelyettesít....

nem így kell konstansot(én nem így tudom)

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 17:36 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
nincs tesztelve
2.-kat már nincs kedvem
Kód:
{
1. Feladat:
Adott a helyi meteorológiai állomáson mért hőmérséklet n napra. Írjatok programot a legnagyobb és a legkisebb hőmérséklet,
valamint azon napok kiíratására,amikor a hőmérséklet elérte az átlaghőmérsékletet.Ellenőrizzétek a programot tesztadatokkal!
}
program elso;
 uses crt;
 Const
  n=500;
 Type
  realtipustomb:=array[1..n] of real;
 var
  i,j:byte;
  napokszama:word;
  valasz:char;
  homerseklet:realtipustomb;
  osszes,atlag,min,max:real;
 
 procedure menu(var valasz:char);
  begin
   clrscr;
   writeln("-----Válassz mit szeretnél!-----");
   writeln("Napok felvitele.................f");
   if napokszama <> 0 then
    begin
     writeln("Legkisebb érték.................k");
     writeln("Legnagyobb érték................n");
     writeln("Átlaghőmérsékletnél nagyobbak...a");
   end;
   writeln("Kilépés.........................x");
   write("Válasz: ");
   readln(valasz);
  end;
 
 procedure felvitel(var homerseklet:realtipustomb;var valasz:char);
  begin
   clrscr;
   writeln("Biztosan szeretnél felvinni adatot? (i/n)");
   readln(valasz);
   while (valasz = "i") and (napokszama < 500) do
    begin
    inc(napokszama);
    writeln(napokszama, ". napon mért homérséklet: ");
    readln(homerseklet[napokszama]);
    osszes:=osszes+homerseklet[napokszama];
    atlag:=osszes/napokszama;
    writeln("Szeretnél újabb adatot hozzáadni? (i/n)");
     readln(valasz);
   end;
  end;
 
 procedure legkisebb(var min:real);
  begin
   min:=homerseklet[1];
   for i:=2 to napokszama do
    if homerseklet[i] < min then
    min:=homerseklet[i];
   clrscr;
   write("A legkisebb érték: ", min);
   readln;
  end;
 
 procedure legnagyobb(var max:real);
  begin
   max:=homerseklet[1];
   for i:=2 to napokszama do
    if homerseklet[i] > max then
    max:=homerseklet[i];
   clrscr;
   write("A legnagyobb érték: ", min);
   readln;
  end;
 
 procedure atlaghomerseklet;
  begin
   clrscr;
   for i:=1 to napokszama do
    if homerseklet[i] > atlag then
    writeln(i, ". napon több volt az átlagnál a homérséklet: ", homerseklet[i]);
   readln;
  end;
 
 begin
  napokszama:=0;
  osszes:=0.0;
  atlag:=0.0;
  min:=0.0;
  max:=0.0;
  repeat
   menu(valasz);
   if valasz = "f" then
    felvitel(homerseklet,valasz);
   if valasz = "k" then
    legkisebb(min);
   if valasz = "n" then
    legnagyobb(max);
   if valasz = "a" then
    atlaghomerseklet;
  until valasz <> "x";
 end.

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 18:00 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Nah lehúztam egy fordítót.
Silent megoldásából kiindulva dinamikusan kezelve a tömböt oldottam meg az 1. feladatot (jajj de nehéz volt :ugeek: )

1.:
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. program virtualnak;
  3. var a:array of integer;
  4. i,sum,min,max,n:integer;
  5. avr:real;
  6. begin
  7. WriteLn('Helloka');
  8. WriteLn('Mennyi nap?');
  9. ReadLn(n);
  10. setLength(a, n);
  11. sum:=0;
  12. for i:=0 to n-1 do
  13. begin
  14. writeln(i+1, '. nap?');
  15. ReadLn(a[i]);
  16. sum:= sum+a[i];
  17. end;
  18. WriteLn('Tenkju');
  19. min := a[0];
  20. max := a[0];
  21. for i:=1 to n-1 do
  22. begin
  23. if a[i]<min then min:=a[i];
  24. if a[i]>max then max:=a[i];
  25. end;
  26. WriteLn('Legkisebb: ', min);
  27. WriteLn('Legnagyobb: ', max);
  28. avr:=sum/n;
  29. WriteLn('Atlaghom.: ',avr:0:2);
  30. for i:=0 to n-1 do
  31. begin
  32. if a[i] >= avr then WriteLn('Az ', i+1, '. napon magasabb volt a homerseklet az atlaghomersekletnel.');
  33. end;
  34. end.
  35.  
  36.  



2.:
(It direkt nem használtam dinamikus tömböt :ugeek: )
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. program TeherSzallito;
  3. const N = 20;
  4. const MAXSULY = 5000;
  5. var vagon: array [1..N] of integer;
  6. var vagonszam: integer;
  7. var i: integer;
  8. var input: integer;
  9. var l: boolean;
  10. var mini : integer;
  11. begin
  12. for i:=1 to N do
  13. begin
  14. vagon[i] := -1;
  15. end;
  16.  
  17. WriteLn('Mennyi kocsi van?');
  18. ReadLn(vagonszam);
  19. while ((vagonszam<1) or (vagonszam>N)) do
  20. begin
  21. WriteLn('1-tol ', N, '-ig adj meg erteket');
  22. ReadLn(vagonszam);
  23. WriteLn(vagonszam);
  24. end;
  25.  
  26. WriteLn('Kocsik terhelesenek megadasa');
  27. i:=1;
  28. while (i<=vagonszam) do
  29. begin
  30. WriteLn(i, '. kocsi terhelese?');
  31. ReadLn(input);
  32. if ((input>MAXSULY) or (input<0)) then
  33. begin
  34. WriteLn('0-tol ', MAXSULY, '-ig add meg az aktuális terhelés mennyiségét');
  35. end
  36. else
  37. begin
  38. vagon[i] := input;
  39. i:=i+1;
  40. end;
  41. end;
  42.  
  43. WriteLn('Kocsik szama: ', N);
  44. WriteLn('Kocsik terhelése');
  45. i:=1;
  46. mini := 1;
  47. while ((i <= N) and (vagon[i] > -1)) do
  48. begin
  49. WriteLn(i, '. kocsi terhelese: ', vagon[i], ' kg');
  50. if (vagon[mini] > vagon[i]) then
  51. begin
  52. mini := i;
  53. end;
  54. i:=i+1;
  55. end;
  56. WriteLn('A teljesen megtöltött kocsik:');
  57. l:=false;
  58. i:=1;
  59. while ((i <= N) and (vagon[i] > -1)) do
  60. begin
  61. if (vagon[i] = MAXSULY) then
  62. begin
  63. WriteLn(i);
  64. l:=true;
  65. end;
  66. i:=i+1;
  67. end;
  68.  
  69. if (l=false) then
  70. begin
  71. WriteLn('Nincs teli kocsi');
  72. end;
  73.  
  74. WriteLn('A legkisebb terheléssel rendelkező kocsik:');
  75. i:=1;
  76. while ((i <= N) and (vagon[i] > -1)) do
  77. begin
  78. if (vagon[i] = vagon[mini]) then
  79. begin
  80. WriteLn(i);
  81. end;
  82. i:=i+1;
  83. end;
  84. end.
  85.  
  86.  

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 18:11 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Hááát
Iron, ez elég érdekess. Látom szereted a cím szerinti értékadásokat :)
Am ha más billentyűt ütök le, kilép. :ugeek:

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 18:32 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
Metal írta:
Hááát
Iron, ez elég érdekess. Látom szereted a cím szerinti értékadásokat :)
Am ha más billentyűt ütök le, kilép. :ugeek:

elvileg akkor kell kilépnie ha x-et ütsz, ha mást ütsz és nincs olyan menüpont akkor újra be kell hoznia a menüt(repeat ciklusba elvileg bent marad még, mert a feltétel nem teljesült, hogy valasz x lett)

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 18:38 
Offline
Imperátor
Avatar

Csatlakozott:2009.04.21. 09:33
Hozzászólások:3991
Megköszönt másnak: 5 alkalommal
Megköszönték neki: 135 alkalommal
Természetesen nem.
Ez egy hátul tesztelő ciklus, ami addig fut, amíg x-et adsz meg.
tehát
SMA Forráskód: [ Mindet kijelol ]
  1. until valasz = 'x'

Ez addig fog futni, amíg nem x-et adsz meg.

Másik gond:
ha felviszel adatot, s n-et nyomsz, akkor kiírja az átlaghőmérsékletet. a fő blokkban tovább csúszik a válasz ('n'), s emiatt írja ki.
Használj switch-et, vagy else ifeket.

Nem hibás, de elég kényelmetlen az adatokat is felvinni (biztos veszel fel új adatot?)

_________________
Kód:
I'm back

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2013.04.18. 18:45 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
Metal írta:
Természetesen nem.
Ez egy hátul tesztelő ciklus, ami addig fut, amíg x-et adsz meg.
tehát
SMA Forráskód: [ Mindet kijelol ]
  1. until valasz = 'x'

Ez addig fog futni, amíg nem x-et adsz meg.

Másik gond:
ha felviszel adatot, s n-et nyomsz, akkor kiírja az átlaghőmérsékletet. a fő blokkban tovább csúszik a válasz ('n'), s emiatt írja ki.
Használj switch-et, vagy else ifeket.

Nem hibás, de elég kényelmetlen az adatokat is felvinni (biztos veszel fel új adatot?)

igen,repeat until addig fut amíg igaz nem lesz az állítás, mindig keverem :S

valasz-os javítva: (case szerkezetet nem tudom fejből mert nem volt kedvem megjegyezni, else ágos ennyi részre bontva hosszú lenne)
Kód:
{
1. Feladat:
Adott a helyi meteorológiai állomáson mért hőmérséklet n napra. Írjatok programot a legnagyobb és a legkisebb hőmérséklet,
valamint azon napok kiíratására,amikor a hőmérséklet elérte az átlaghőmérsékletet.Ellenőrizzétek a programot tesztadatokkal!
}
program elso;
 uses crt;
 Const
  n=500;
 Type
  realtipustomb:=array[1..n] of real;
 var
  i,j:byte;
  napokszama:word;
  valasz:char;
  homerseklet:realtipustomb;
  osszes,atlag,min,max:real;
 
 procedure menu(var valasz:char);
  begin
   clrscr;
   writeln("-----Válassz mit szeretnél!-----");
   writeln("Napok felvitele.................f");
   if napokszama <> 0 then
    begin
     writeln("Legkisebb érték.................k");
     writeln("Legnagyobb érték................n");
     writeln("Átlaghőmérsékletnél nagyobbak...a");
   end;
   writeln("Kilépés.........................x");
   write("Válasz: ");
   readln(valasz);
  end;
 
 procedure felvitel(var homerseklet:realtipustomb);
  var
   valasz2:char;
  begin
   clrscr;
   writeln("Biztosan szeretnél felvinni adatot? (i/n)");
   readln(valasz2);
   while (valasz2 = "i") and (napokszama < 500) do
    begin
    inc(napokszama);
    writeln(napokszama, ". napon mért homérséklet: ");
    readln(homerseklet[napokszama]);
    osszes:=osszes+homerseklet[napokszama];
    atlag:=osszes/napokszama;
    writeln("Szeretnél újabb adatot hozzáadni? (i/n)");
     readln(valasz2);
   end;
  end;
 
 procedure legkisebb(var min:real);
  begin
   min:=homerseklet[1];
   for i:=2 to napokszama do
    if homerseklet[i] < min then
    min:=homerseklet[i];
   clrscr;
   write("A legkisebb érték: ", min);
   readln;
  end;
 
 procedure legnagyobb(var max:real);
  begin
   max:=homerseklet[1];
   for i:=2 to napokszama do
    if homerseklet[i] > max then
    max:=homerseklet[i];
   clrscr;
   write("A legnagyobb érték: ", min);
   readln;
  end;
 
 procedure atlaghomerseklet;
  begin
   clrscr;
   for i:=1 to napokszama do
    if homerseklet[i] > atlag then
    writeln(i, ". napon több volt az átlagnál a homérséklet: ", homerseklet[i]);
   readln;
  end;
 
 begin
  napokszama:=0;
  osszes:=0.0;
  atlag:=0.0;
  min:=0.0;
  max:=0.0;
  repeat
   menu(valasz);
   if valasz = "f" then
    felvitel(homerseklet);
   if valasz = "k" then
    legkisebb(min);
   if valasz = "n" then
    legnagyobb(max);
   if valasz = "a" then
    atlaghomerseklet;
  until valasz = "x";
 end.

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [39309 hozzászólás ]  OldalElőző1136113621363136413653931Következő


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 7 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole