Ú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!
- BESZÁMÍTÁS! Gigabyte B450 R7 5700X 32GB DDR4 512GB SSD RX 6700XT 12GB Rampage SHIVA be quiet! 650W
- BESZÁMÍTÁS! Gigabyte GA-A620M R5 7600 32GB DDR5 512GB SSD RX 6700XT 12GB Rampage SHIVA Corsair 750W
- BESZÁMÍTÁS! Asus A520 R5 3600 16GB DDR4 500GB SSD RTX 2060 8GB Rampage SHIVA CoolerMaster 700W
- BESZÁMÍTÁS! MSI B550 7 5800X 16GB DDR4 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
- BESZÁMÍTÁS! MSI B450M R7 2700X 32GB DDR4 512GB SSD RTX 3050 8GB Rampage SHIVA Thermaltake 500W
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5800X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- Felújított szerverek, storage-ok, hálózati eszközök Enterprise szinten, minden gyártótól
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 512GB SSD RX 6700 XT 12GB ZALMAN S3 TG CM 700W
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 55992Ft+ÁFA
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest