Új hozzászólás Aktív témák
-
ArchElf
addikt
parse: én nem adok neki olyan bemenetet, ami problémát jelentene
Ilyeneknek soha nem szabad berögzülniük...Mintha autót építnél úgy, hogy nincs rögzítve a tengelyen a kerék, mert úgysem rögös a út...
Kis segítség:
Pozitív számokat adsz össze - tehát a számok összege folyamatosan nő. A számokat nem kell egyesével nyilvántartanod. A faktoriális összege is folyamatosan nö.
-> megjegyzed, hogy hoé tartasz a faktoriálisban, és ha az összeged nagyobb, mint az utolsó faktoriális összeg, akkorgyomorbólkb így:long összeg = 0;
long fakt_alap = 1;
long fakt_összeg = 1;
do
{
'... beolvasás
if (összeg == fakt_összeg)
{
Console.WriteLine(Az összeg [{0}] faktoriális, az alapja [{1}]", összeg, fakt_alap);
}
else if (összeg > fakt_összeg)
{
fakt_alap++;
fakt_összeg *= fakt_alap;
}
while (...);AE
-
ArchElf
addikt
Na ezt már érdemes optimalizáltan csinálni

Kell hozzá egy kis mögöttes logika - kb mindent ki lehet használni, azok közül, amit jester az én példáimban javítandónak talált:
- nem kell feleslegesen - minden bekérés után - számolgatni (összeg, faktoriális), figyelmi kell a különbségeket, és csak akkor számolni, ha szükséges
- hibakezelést, rendesen megoldani
- ja, és ugye írtuk, hogy vagy tryparse, vagy kivételkezelés... hmm?A két for ciklust nem igazán értem...
AE
-
Lacces
őstag
Hali!
Tömbös megoldás:
Igyekeztem követni a do-while szerkezetedet, de én benne elhelyezkedtem inkább egy IF-et így számomra átláthatóbb, de több megoldás is van :-)Szerintem is célszerű a tömbös, szerintem a legtöbb embernek elsőre ez ugrik be

1-50-ig futhat le a ciklus... max 50-ig próbálkozhatsz :-D Azért a végtelenségik ne! :-D
Ha a bevitel már nagyobb vagy egyenlő mint 3
Ha igena tömb utolsó 3 elemének az összege egyenlő-e 8-al?
Kiírom, hogy van eredmény
megszakítom a ciklus futását! (break utasítás)int[] tomb=new int[50];
int i = 1;
do
{
int temp;
temp = int.Parse(Console.ReadLine());
tomb[i] = temp;
if (i >=3)
{
if ( (tomb[i] + tomb[i - 1] + tomb[i - 2]) == 8)
{
Console.WriteLine(" Az utolsó 3 elem összege 8 ");
break;
}
}
i++;
} while (i<=50); -
Jester01
veterán
Azt próbálja csinálni, hogy mindig a három legutolsó számot jegyzi meg. Tehát amikor bekér egy újat, az előző kettőt eggyel hátrébb lépteti. Persze ehhez illene inkább tömböt használni. A fordító egyébként nem veszi észre, hogy a szam változókat nem kell inicializálni ezért kiabál (legalábbis nálam). A probléma megoldását az olvasóra bízom

Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Eredeti játékok OFF topik
- Bambu Lab 3D nyomtatók
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Alumíniumba öltözött a Nothing Phone (4a) Pro
- Hálózati / IP kamera
- MWC 2026: Könnyen megmarkoltuk a Lenovo Legion Tab ötödik generációját
- Foxpost károsultak - 2026
- A '90-es évek jutnak az eszünkbe az ATK készülő egeréről
- Kerékpárosok, bringások ide!
- Ilyen olcsó sem volt még egy Apple notebook
- További aktív témák...
- AKCIÓ! Sony Playstation 5 PRO 2TB Digital játékkonzol garanciával extrákkal hibátlan működéssel
- Dell Precision 5520 15,6" FHD, Xeon E3-1505M v5, 16GB RAM, Quadro 4GB VGA, SSD, jó akku, számla, gar
- Szerver / szerverterem / szerver infrastruktúra felvásárlás, 1-1db is, kiszállással, logisztikával
- AKCIÓ! Sosemhasznált! HP OmniBook 5 i3-1315U 8GB 1TB 16" FHD+ Gar.: 1 év
- Bontott 0perces MIDNIGHT MacBook Air 15" M4 10C/1G 16GB 256GB Gar.: 3 év telekom + közel 1 APPLE gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



