Ezt a feladatot hogyan kell meg csinálni? Házi feladat. Sajnos nem értem? Tudnátok segíteni?
Töltsön fel egy 10 elemű long típusú vektort a program futása során bekért számokkal. Határozza meg a legnagyobb számot és a számok összegét.
A legnagyobb számot és a számok összegét egymás alá írja ki az
eredmeny.txt nevű szövegfileba.
int[] páros = new int[10];
int[] páratlan = new int[10];
int párosDb = 0;
int páratlanDb = 0;
for (int i = 0; i < 10; i++)
{
Console.Write("Kérem a számot:");
int szam = int.Parse(Console.ReadLine());
if(szam % 2 == 0)//páros
{
páros[párosDb]= szam;
párosDb++;
}else
{
páratlan[páratlanDb] = szam;
páratlanDb++;
}
}
for (int i = 0; i < párosDb; i++)
{
Console.Write("{0},",páros[i]);
}
Console.WriteLine();
for (int i = 0; i < páratlanDb; i++)
{
Console.Write("{0},", páratlan[i]);
}
/*írjuk ki a páros és a páratlan számok összegét is*/
int párosÖsszesen = 0,páratlanÖsszesen=0;
for (int i = 0; i < párosDb; i++)
{
párosÖsszesen += páros[i];
}
for (int i = 0; i < páratlanDb; i++)
{
páratlanÖsszesen += páratlan[i];
}
Console.WriteLine("\n{0} a párosok összege, {1} a páratlanok összege",párosÖsszesen,páratlanÖsszesen);
Console.ReadKey();
ha így csinálom akkor jó?
long[] legnagyobb = new long[10];
long[] összeg = new long[10];
long legnagyobbdb = 0;
long összegdb = 0;
for (long i = 0; i < 10; i++)
{
Console.Write("Kérem a számot:");
long szam = long.Parse(Console.ReadLine());
if(szam % 2 == 0)//legnagyobb
{
legnagyobb[legnagyobbdb]= szam;
legnagyobbdb++;
}else
{
összeg[összegdb] = szam;
összegdb++;
}
}
for (long i = 0; i < legnagyobbdb; i++)
{
Console.Write("{0},",legnagyobb[i]);
}
Console.WriteLine();
for (long i = 0; i < összegdb; i++)
{
Console.Write("{0},", összeg[i]);
}
int legnagyobbÖsszesen = 0,összegÖsszesen=0;
for (long i = 0; i < legnagyobbdb; i++)
{
legnagyobbÖsszesen += legnagyobb[i];
}
for (long i = 0; i < összegdb; i++)
{
összegÖsszesen += összeg[i];
}
Console.WriteLine("\n{0} a legnagyobbak összege, {1} a összegek összege",legnagyobbÖsszesen,összegÖsszesen);
Console.ReadKey();
ezt bírtam belőle összehozni. ez így jó lesz?
1. Ékezetes változóneveket SÜRGŐSEN felejtsd el, még mielőtt berögződik!
2. A magyar változóneveket se kellene erőltetni.
3. Ha már egyszer végig mégy mindkét tömbön a kiíratáskor, miért nem ott adod össze a számokat, miért külön?
4. Ebben nincs benne a legnagyobb szám keresése.
Anyám borogass! Jól látom, hogy fogtál egy kódot, ami a páros/páratlan számokat válogatja külön és átírtad a változóneveket legnagyobb-ra és összeg-re és azt várod, hogy varázslatos módon megváltozzon a program működése is?
Érted te egyáltalán a programozás alapjait?
„hogyan kell külön venni őket? le tudnátok írni?”
NEM KELL. A feladat nem tartalmazza. Egyébként pontosan így, ahogyan az első „próbálkozásodban”:
if(szam % 2 == 0)//páros
{
}
...amit aztán te szépen átírtál „if(szam % 2 == 0)//legnagyobb”-ra, mert egy kukkot sem értesz belőle, és azt hiszed, hogy ugyanezzel a feltétellel mostantól a legnagyobbakat számolod. Mellesleg: Miféle legnagyobbakat? Tíz szám közül hány legnagyobb van? És ezeket összesíted... de ha nem felel meg a feltételnek (vagyis páratlan), azt külön számolod... és annak is van összege... A két kezeden megszámolható tömbelemek számolásakor következetesen long ciklusváltozókat használsz... a (hagyjuk is, milyen alapon) kiszámolt long tömbelemeket int változókhoz adogatod hozzá... és mindezt egy csonka kódban mutatod be.
Bocs, nekem belefájdult a fejem. Sajnos, el kell rohannom itthonról, úgyhogy estig nem foglalkozom a programoddal, de az a gyanúm, hogy magad sem érted azt a zagyvaságot, amit leírtál. Szerintem valahonnét ollóztad, és megpróbáltad a feladathoz igazítani, de ez csak akkor menne, ha tudnád, hogy az eredeti mit és hogyan csinál.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!