- Sony Xperia 1 VII - Látod-e, esteledik
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Samsung Galaxy Watch8 - Classic - Ultra 2025
- Samsung Galaxy A54 - türelemjáték
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Magisk
Új hozzászólás Aktív témák
-
oO7
őstag
válasz
hoffman_ #4342 üzenetére
az első feladatnál egy "manuális for ciklust" kell összeraknod a bekérésre, és addig kell bekérned számokat amíg nem jön össze 10 ami megfelel a kritériumoknak...
leellenőrzöd, hogy a megadott szöveg az szám e,
aztán string műveletekkel megnézed, hogy 4 karakterből áll e, azaz 4 jegyű szám e,
illetve, hogy a 2. (1-es index) és 4. (3-as index) karakter (számjegy) különbözik e...
ha szám is volt meg négyjegyű is meg különböznek is a helyiértékek, akkor hozzáadod a listához és növeled az indexet, hogy akkor most te az n+1-dik helyre keresel új számot... ezt egészen addig csinálod (while ciklus) amíg össze nem jön a 10 elem...// Elso feladat elso resze
int[] s1 = new int[10];
int s1Index = 0;
while (s1Index < 10)
{
string s = Console.ReadLine();
int number = 0;
bool isNumber = int.TryParse(s, out number);
if (isNumber && s.Length == 4 && s[1] != s[3])
{
s1[s1Index] = number;
s1Index++;
}
}A következő résznél a bináris formátumra alakításhoz a Convert.ToString() metódust érdemes használni... ez egy számból elkészíti a bináris megfelelőjét stringként... ezen pedig már tudod vizsgálni az utolsó és utolsó előtti biteket és a feltételnek megfelelően egy új tömbbe pakolni... itt nem tudhatod előre, hogy hány eleme lesz a tömbnek szóval inicializáld 10 hosszúnak, készülj fel a legrosszabbra, aztán majd az indexet úgyis megint manuálisan kell kezelni a feltételek miatt, és azzal fogod tudni nyomonkövetni, hogy hány elem van a listában.
a végén pedig az utolsó maximum 4 elemnek kiszámolni az átlagát úgy, hogy visszafele járjuk be a tömböt...
// Elso feladat masodik resz
int[] s2 = new int[10];
int s2Index = 0;
for (int i = 0; i < s1.Length; i++)
{
string binary = Convert.ToString(s1[i], 2);
if (binary[binary.Length - 1] == '0' &&
binary[binary.Length - 2] == '1')
{
s2[s2Index] = s1[i];
s2Index++;
}
}
int s2Length = Math.Min(s2Index, 4);
int startIndex = s2Index - 1;
int endIndex = s2Index - s2Length;
int osszeg = 0;
for (int i = startIndex; i >= endIndex; i--)
{
osszeg += s2[i];
}
double atlag = osszeg / (double)s2Length;Bár lehetne ezt sokkal szebben is a rendelkezésre álló technológiákkal, de a feladat jellegéből arra tippelnék, hogy azokat a függvényeket nem használhatjátok
második feladathoz még gyűjtenem kell egy kis türelmet, kínzás ilyen kódot írni
Ú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!
- Lenovo Thunderbolt 3 kábel (4X90U90617)
- Microsoft Surface Laptop 5 13.5" i5-1245U 16GB 512GB 1év garancia
- Bomba ár! HP ProBook 440 G8 - i5-11GEN I 16GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Gar
- HP 14 Elitebook 1040 G9 FHD+ IPS i5-1245U 10mag 16GB 512GB 5G Modem Intel Iris XE Win11 Pro Garancia
- Panasonic TX-L47E5Y 47" LED TV eladó
Állásajánlatok
Cég: FOTC
Város: Budapest