Ú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!
- Magyar kiosztású Apple Magic Keyboard 2, Touch ID, teljes méretű
- Új Mac Studio M4 Max 2025 14C CPU /32C GPU / 36GB RAM / 512GB - 1 ÉV APPLE GARANCIA
- 2026 MacBook Air / MacBook Pro / M5 - M5 Pro - M5 MAX 14" / 16"
- Asus 15.6,core i3 8145U(4x3,9Ghz)IntelUHD VGA,MAGYAR Vil.bill.,8-20GB RAM,SSD+HDD?,,Win.11
- LG UltraGear 27GS85Q-B NanoIPS/2K/200HZ (068)
- BESZÁMÍTÁS! ASRock A520M R5 5500 16GB DDR4 512GB SSD RTX 2060 6GB CM Masterbox MB311L ARGB 500W
- BESZÁMÍTÁS! MSI B450M R5 5600X 16GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA EVGA 700W
- BESZÁMÍTÁS! MSI B650 R7 7700 32GB DDR5 1TB SSD RTX 5070Ti 16GB LIAN LI LANCOOL 207 ADATA 850W
- Akció!!! Sosemhasznált! HP OmniBook 5 i5-1334U 16GB 512GB 16" FHD+ Gar.: 1 év
- Apple iPhone 12 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



