Kezdőoldal » Számítástechnika » Programozás » C programozás segítség?

C programozás segítség?

Figyelt kérdés

A legnagyobb páros számot kéne kiírnom 10 beírt szám közül. Sajnos csak 0-kat kapok mindig. Mi a hiba?


#include <stdio.h>


int main() {

int numbers[10];

int largest=0;

int i;

for(i=1;i<11;i++) {

scanf("%d", &numbers[i]);

if(numbers[i]%2==0 && numbers[i]>largest)

largest=numbers[i];


}

if((largest=0)){

printf("There are no even numbers.");}

else{

printf("%d", largest);}


return 0;

}



2021. jan. 5. 23:01
1 2
 11/15 A kérdező kommentje:
#9-es, de ha az összes input szám közül csak a -4 a páros (és egyben a legnagyobb páros szám), akkor ha a -1 -ről nem írja át, az esetben egy rossz eredményt kapok.
2021. jan. 6. 00:32
 12/15 anonim ***** válasza:

Bocs igen, ezt "benéztem". Már kicsit álmos vagyok.

Akkor marad az megoldás amit először javasoltam, hogy megnézed a doksiban a legkisebb páros számot amit tud az int-ed (sajnos az int tényleg fordító függő). És azzal adsz kezdő értéket. Vagy az ellenőrzésbe beteszed:

if(number%2==0 && number>largest) helyett

if((number%2==0 && number>largest) || largest%2!=0)


És a megjelenítésnél a kolléga által javasolt változatot használod (ott is ellenőrzöd, hogy a largest páros-e).

2021. jan. 6. 00:37
Hasznos számodra ez a válasz?
 13/15 A kérdező kommentje:

"if(number%2==0 && number>largest) helyett

if((number%2==0 && number>largest) || largest%2!=0)"


Ezt nem igazán értem, hogy miért írnám hozzá. (Páros és nagyobb) vagy páratlan? Ebben az esetben páratlan számot is kaphatnék végeredményként.


Még egy gyors kérdés, kik ezek az emberek (ti), akik segítik a magamfajta kezdőket, akik csak abszolválni szeretnék a Programozás alapjai tárgyat? :D Tanárok, esetleg unatkozó programozók?

2021. jan. 6. 00:50
 14/15 tabaki ***** válasza:
100%

„(Páros és nagyobb) vagy páratlan? Ebben az esetben páratlan számot is kaphatnék végeredményként.”


Miért is? Largest egy módon lehet páratlan, ha még a kezdőértéket tartalmazza, minden más esetben a program által beleírt kötelezően páros érték van benne. Nekem ennek ellenére nem rokonszenves a plusz művelet – itt nem számít, de mondjuk nyolcszázmilliárd adat kiértékelésénél már az a kis idő is luxusnak tűnik pusztán ezen egyetlen eshetőség kedvéért.

Az adott fordító int-minimuma egyébként lekérdezhető, de szerintem szerencsésebb előre tisztázni/biztosítani a program számára szükséges értékek korlátait, aztán, ha a kezdőérték az alsó alatt van, már jó.

2021. jan. 6. 01:54
Hasznos számodra ez a válasz?
 15/15 A kérdező kommentje:

Ha egy szám az előző largest értéknél kisebb és páratlan, akkor ebben az esetben meg fogja kapni az értékét, nem?


A végénél nem jönne ki a kiíratási feltételek miatt, de akkor minek írnám bele?

2021. jan. 6. 09:46
1 2

További 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!