Kezdőoldal » Számítástechnika » Programozás » Kérjünk be egy egész számot a...

Kérjünk be egy egész számot a felhasználótól. Adjuk meg a szám 5-tel vett osztási maradékát a % operátor használata nélkül?

Figyelt kérdés
ezt valaki meg tudná nekem csinálni meg tervezni és lefuttatni??
2014. okt. 6. 08:45
1 2
 1/13 anonim ***** válasza:
No de milyen nyelv? Csak hogy tudjuk, mégis milyen osztályokat/függvényeket ajánljunk.
2014. okt. 6. 08:59
Hasznos számodra ez a válasz?
 2/13 A kérdező kommentje:
az a baj hogy hülye vagyok ehhez elém rakták ezt h csináljam meg mert doga...
2014. okt. 6. 09:02
 3/13 anonim ***** válasza:
Oké, de azt sem tudod milyen nyelvet próbálnak tanítani neked?
2014. okt. 6. 09:08
Hasznos számodra ez a válasz?
 4/13 anonim ***** válasza:
100%

Nyelvtől függetlenül:


Fogsz egy elöltesztelős ciklust (while általában).

Ennek a feltétele az, hogy a bekért szám (legyen X) nagyobb vagy egyenlő, mint 5.

A ciklus belsejében pedig annyit csinálsz, hogy az X-ből kivonsz 5-öt.


Ha vége a ciklusnak (azaz ha már nem teljesül a feltétel), akkor az X-ben lesz az osztási maradék.


Arra viszont figyelj, hogy negatív szám esetén máshogy kell csinálni. Azt hiszem, így:

- feltétel: -5 -nél kisebb vagy egyenlő

- ciklus mag: X-hez hozzáadsz 5-öt


---

Ezt megoldhatod így szebben is:

X: bekért szám

M: maradék


Elágazás: ha X < 0, akkor M := -X (értékadás!)

különben: M := X


Ciklus: amíg M >= 5, addig M := M - 5


Elágazás: ha X < 0, akkor M := -M


Kiíratod M-et, ez a maradék.

2014. okt. 6. 09:53
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:

Mivel % operátort használ, így valamilyen C variáns nyelv lesz. Az iskolákban most nagyon szeretik a C# nyelvet, így:


--------------------------------------


using System;


namespace oszt5

{

class Program

{

public static void Main(string[] args)

{

int szam,maradek;


Console.WriteLine("Kérek egy egész számot: ");

szam=int.Parse(Console.ReadLine());


maradek=szam;

while (maradek>4) maradek-=5;


Console.WriteLine();

Console.WriteLine("Maradék a % operátorral: "+szam%5);

Console.WriteLine("Maradék a % operátor nélkül: "+maradek);

Console.WriteLine();


Console.Write("Press any key to continue . . . ");

Console.ReadKey(true);

}

}

}


-----------------------------------


:-)

2014. okt. 6. 10:12
Hasznos számodra ez a válasz?
 6/13 Tengor ***** válasza:

Milyen szemetek ezek a tanárok, egyszer csak dogát iratnak valamiből, amit le sem adtak! Nekik ugye az a jó, ha a diákjaik sorra megbuknak, ugye?


Ez bizony pont olyan jegy lesz, amit egy nemtörődöm alak érdemel. Majd jövőre jobban odafigyelsz erre a tárgya is...

2014. okt. 6. 10:40
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:

A visszaszámolós megoldás eddig a legjobb, de...

Mi van ha a megadott szám negatív?

2014. okt. 6. 13:51
Hasznos számodra ez a válasz?
 8/13 uno20001 ***** válasza:
#7: Megszorozza (-1)-gyel. :-)
2014. okt. 6. 14:37
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:
Akkor majd jövőre próbálkozz újra.
2014. okt. 6. 15:18
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:

#4, #8: A -1-gyel való szorzás helytelen, mivel pl. -1-nek az 5-ös maradéka 4 és nem pedig 1.


Egy hatékonyabb módszer:

a % b = a - floor(a / b) * b

2014. okt. 6. 18:02
Hasznos számodra ez a válasz?
1 2

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!