Kézi osztás Cben?
Két számot el kell osztanom 50 tizedesre, kézi osztást alkalmazva. Szóval nem elég ha beírom hogy a=szam1/szam2.
Segítene valaki?
Mondjuk, hogy kéne ezt így megoldani..
több változóra van szükségünk,
az eredményt floatnak kell definiálni, azt tudom.
Nemtudom hogy kezdjek neki.
Szerintem először gondold végig, mit szeretnél (mit kell) csinálni. Írd le az algoritmust: hogyan csinálod a kézi osztást?
Nyilván ismételsz egy műveletet, és ennek az ismétlésnek van egy megállási feltétele. Mik ezek a műveletek és mi a megállási feltétel?
Pl. 197/3, először a 19-ben megnézem hányszor van meg a 3, az 6, a maradék 1, a hetest melléveszem, egészben csak 5 van meg, 2 maradék lesz. Innen meg mindig 10et adunk hozzá.
Namost ezt hogy írom le ciklus formában?
Ezt ciklus formában?
while (1)
Ugyanis a kilépési feltételt lefelejtetted.
Minden ember tévedhet.
Nem a feltétellel van a problémám,
hanem a cikluson belüli programrészre.
Ne mond, hogy nem segítek, itt van Pascalban :
program osztas;
var o, oszt, marad, i : integer;
s, smarad : string;
begin
o := 19900;
oszt := 41;
Str(o div oszt, s);
marad := o mod oszt;
s := s + '.';
for i := 1 to 50 do
begin
Str((marad * 10 ) div oszt, smarad);
s := s + smarad;
marad := (marad * 10) mod oszt;
end;
WriteLn(s);
ReadLn;
end.
Csak, hogy egy kicsit dolgozz is meg érte :)
Ez is elég lesz,valahogy átfordítom!
Kösz!!
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!