Kezdőoldal » Számítástechnika » Programozás » C#, milyen kóddal érhető el...

C#, milyen kóddal érhető el az alábbi művelet?

Figyelt kérdés
Adott 10 db különböző szám egy tömbben. Azt szeretném elérni, hogy a a legnagyobb számokat ha összeadom és elér egy bizonyos összeget pl 800-at akkor számolja meg hány db számra volt szükség hogy ezt az összeget elérje.

2017. dec. 3. 19:11
 1/9 anonim ***** válasza:
49%

Fogós, ravasz kérdés ez.

Talán valami nagyon okos senior fejlesztő apja, nagyapja tudja rá a választ.

2017. dec. 3. 19:35
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
23%

const limit = 800;


var

summa : integer = 0;

nums : array[0..9] of integer;

index : byte = 0;

begin

while (summa < limit) or (index < 10) do

begin

summa := summa + array[i];

inc(index);

end;

writeln(index+1,' db szamra volt szukseg');

end.


// A kódból a tömb feltöltése hiányzik.

2017. dec. 3. 19:47
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:
#2: Ebből elég sok minden más is hiányzik. (Mondjuk tőled nem túl meglepő.)
2017. dec. 3. 20:14
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

Tényleg, most nézem, hogy a legnagyobbakat kell előbb összeadni.

Akkor kell elé még egy sort.

2017. dec. 3. 20:58
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

Az mit takar, hogy a legnagyobb számokat összeadom? A tömbben levő legnagyobb szám hányszor kell ahhoz, hogy elérje a 800-at?


int legnagyobb = 0;

for(int i=0;i<9;i++) {

if(legnagyobb < tomb[i])

legnagyobb = tomb[i];

}


int ertek = 0;

int szamlalo = 0;

do {

ertek += legnagyobb;

szamlalo++;

} while(ertek < 800);


Működnie kéne ha úgy gondolod, ahogy leírtam.

2017. dec. 3. 21:01
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:
100%

Bontsd lépésekre a feladatot:


1. A tömböt csökkenő sorrendbe rendezed.

2. Egy ciklussal elkezded összeadogatni a tömbben lévő számokat és bevezetsz egy változót, amivel számlálod hány számot adtál össze. Ha az összeg eléri a 800-at, akkor leállítod ezt a számlálót is kilépsz a ciklusból.

3. Ha az összeg elérte a 800-at, akkor kiírod a számláló értékét. Ha nem, akkor nem írsz ki vagy semmit vagy csak annyit, hogy "a tömbben lévő számok összege nem érte el a 800-at".

2017. dec. 3. 22:27
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:

Tehát pl.:


Eljárás

rendez(tomb, "desc")


osszeg:=0

szamlalo:=0


ciklus i:=1-től 10-ig

osszeg := osszeg + tomb(i)


ha osszeg<800 akkor

szamlalo := szamlalo+1

fv.

cv.


ha osszeg<800 akkor

ki "A tömbben lévő számok összege nem érte el a 800-at!"

egyébként

ki szamlalo + "db. számot kellett összeadni a tömbből, hogy elérje a 800-at!"

fv.

Eljárás vége

2017. dec. 3. 22:33
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
Én rendezném a tömböt csökkenő sorrendben. Eztán elkezdeném összeadni a számokat, ha átlépte a "bizonyos összeget" akkor csak a ciklusváltozóhoz kell adni 1 et és megvan az eredmény.
2017. dec. 4. 20:13
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
hopsz ezt már leírták páran :D
2017. dec. 4. 20:14
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!