Kezdőoldal » Számítástechnika » Programozás » Mi a hiba? (C++ maximumkeresés)

Mi a hiba? (C++ maximumkeresés)

Figyelt kérdés

Mi ebben a hiba?


(...)


int max=0;

int index=0;


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


if (ar[i]>max) {


max = ar[i];

index = i;


}


}


index++;

cout << index << endl;


(...)


Az "ar" tömb legnagyobb elemének a sorszáma kéne. Megírtam, működött, majd rájöttem hogy rossz tömbben keresem a maximumot, mert félreértelmeztem a feladatot, úgyhogy két helyen a "meret[i]" helyett írtam "ar[i]"-t, azóta az értékelő honlap szerint 0 pont, fordítási hiba, tehát tuti hogy ebben a részben van valami hiba. De mi?

(ar[] egy int-es n=100 elemű tömb)


2014. jan. 9. 13:05
 1/10 anonim ***** válasza:
Ott kezdődik a gond, hogy max-ot nullának implementáltad, ergo ha a legnagyobb elem kisebb, mint nulla, akkor nem fogja megtalálni. Tehát max a tömb legelső elemével legyen egyenlő és a ciklus ne nullától induljon, hanem 1-től (vagyis a második elemtől).
2014. jan. 9. 13:12
Hasznos számodra ez a válasz?
 2/10 anonim ***** válasza:
Bár mondjuk, ha az "ar" árat jelent, akkor nem lehet negatív.
2014. jan. 9. 13:15
Hasznos számodra ez a válasz?
 3/10 A kérdező kommentje:
Az ar minden eleme pozitív egész.
2014. jan. 9. 13:19
 4/10 anonim ***** válasza:
0%

for (int i=0;i<n;++i)


nem lehet, hogy i++

vagyis én is mindig így kezdtem, hogy for (int i=0;i<n; de mindig i++-t írtam, nem lehet, hogy a végén ar[100]ra próbál hivatkozni, habár csak ar[0]-ar[99] van?

2014. jan. 9. 13:36
Hasznos számodra ez a válasz?
 5/10 A kérdező kommentje:

Így is "futtatási hiba" :(

Pedig a gépemen amúgy tökéletesen lefut, jó eredménnyel.. :/

2014. jan. 9. 13:43
 6/10 anonim ***** válasza:

Ha fordítási hiba és neked lefordul akkor rosszul másoltad be, esetleg warningok maradtak benne vagy különböznek a gépen lévő libek.


Futtatási hibánál lehet túlindexelt tömb, nullával osztás, stb.

2014. jan. 9. 13:44
Hasznos számodra ez a válasz?
 7/10 anonim ***** válasza:

@Előző: nem.


Egyébként egyszerre a maxot is meg az indexet is fölösleges tárolni, az index pointerként szolgál a maxra


Plusz nem tudjuk, hogy az "értékelő honlap" milyen eredményt szeretne kapni.

Szerintem specifikálva van az input-output, jó lenne, ha kapnánk egy teljes kódot, +az output specifikációt

2014. jan. 9. 13:44
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:
(már az előző előzőnek írtam)
2014. jan. 9. 13:45
Hasznos számodra ez a válasz?
 9/10 A kérdező kommentje:
az értékelő honlapra a main.cpp-t kell feltölteni szőröstül-bőrőstül, nem rosszul másolom be.
2014. jan. 9. 13:48
 10/10 anonim ***** válasza:

Akkor dönts el hogy futási vagy fordítási hiba, mert 2 helyen 2 különbözőt írtál.


n értéke nem vezet túlindexeléshez?

2014. jan. 9. 13:55
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!